-
Java基础知识总结(超详细篇)
1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由...
-
iOS版微信7.0.12发布,期待已久的功能终于上线!你会更新吗?
现在有很多小伙伴都知道,之前苹果和微信因为黑暗模式的适配问题受到了非常多人的关注,不少人都在期待这次iOS版微信的更新。终于iOS微信7.0.12版本终于更新发布了,今天就让我们一起来看看微信7.0.12版有哪些功能和变化吧~一、界面改变1.适配黑暗模式对于这一点,相信有很多小伙伴都非常清楚,在不久之前微信官方已经在微博中表明已和苹果达成共识,会适配iPhone手机的深色模式。...
-
新版任你发,我用Java 8!
最近,新版本的JDK又双叒叕发布了,目前已经JDK 14 了,从2017年8月份开始,JDK的更新频率变成了每半年一次,将固定在每年的3月份和9月份发布新版本。按照这个频率,过不了多久,JDK 20 就要推出了…最早的JDK发布于1996年,相信比很多读者的年龄都要小,其发布频次如下:Java 8 与 Java 11 为当前提供支持的LTS(长期支持)版本;2018年9月,随着...
-
彻底理解红黑树的基本原理
本文将通过图文的方式讲解红黑树的知识点,并且不会涉及到任何代码,相信我,在懂得红黑树实现原理前,看代码会一头雾水的,当原理懂了,代码也就按部就班写而已,没任何难度。阅读本文你需具备知识点:二叉查找树完美平衡二叉树事不宜迟,让我们进入正题吧。红黑树也是二叉查找树,我们知道,二叉查找树这一数据结构并不难,而红黑树之所以难是难在它是自平衡的二叉查找树,在进行插入和删除等可能会破坏树的...
-
工作8年的大佬,分享超详细的springBoot学习心得以及步骤路线图
SpringBoot的目标是简化Spring的开发过程、让开发者快速搭建框架和web容器。并为微服务提供更好的支持,提供服务监控能力。Spring为开发者带来了简单和能力: Spring Boot使编码变简单Spring Boot使配置变简单Spring Boot使监控变简单Spring Boot使部署变简单 本文也是根据近几年的工作、学习经验,来分析和制定一个学习使用 Sp...
-
正确了解Java开发的相关知识
Java是软件开发语言中非常重要的一门语言,在过去的十年中,Java语言一直是使用人数最多的,在很多企业中的软件开发都是基于Java语言进行开发。并且Java语言的使用范围也是非常广泛的,涉及各种行业中,形成非常庞大的生态圈。下面小编为大家具体介绍关于Java开发的知识。软件开发 一、学习Java开发有什么前途 Java的需求量是非常大的,不只是北上广的需求量,每年全球...
-
介绍PHP中的10个实用函数
PHP的功能越来越强大,里面有着非常丰富的内置函数。资深的PHP程序员对它们可能都很熟悉,但很多的PHP学习者,仍然对一些非常有用的函数不太熟悉。这篇文章里,我们就列举10个你或许不了解但实用的PHP函数,供大家参考和学习。1. php_check_syntax这个函数可以用来检查特定文件中的PHP语法是否正确。使用方法:<?php$error_message = "";...
-
php生命周期介绍
PHP的运行模式:PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。1、当我们在终端敲入php这个命令的时候,它使用的是CLI。它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。2、当使用Apache或者别web服务器作为宿主时,当一个请求到来时,PHP会来支持完成这个请求。一般有:多进...
-
微信黑暗模式正式上线,还有6个超实用的新功能
千呼万唤始出来,今天一大早,iOS端微信迎来了7.0.12版本更新,明晃晃写道:可跟随系统的设置,切换为深色模式。相信Android端的正式版微信更新很快也会上线。上周,微信就松口表示,为了优化用户体验,微信与苹果达成合作,共同探索微信在iOS系统的深色模式体验。迫不及待地,我就打开了App Store开始更新体验。更新完成后,就可以直接开始体验了。有些小伙伴可能不知道怎么打开...
-
微信突然更新,深色模式如期而至,幸福来得太突然
3月22日消息,微信团队向iOS用户正式推送了微信7.0.12版。在新版微信中,大家期待已久的深色模式正式上线,绝对是夜猫子的福利。同时新版微信还优化了语音消息的发送体验,让语音输入更加方便和省事。在收到推送后,我第一时间将微信更新到最新版,体验了这两个全新的功能。不愧是腾讯大厂,在深色模式下微信的用户体验媲美系统自带应用,不管是图片,文字还是使用体验都做到了极致。向用户妥协的...
-
WebSocket 是什么原理?为什么可以实现持久连接?
一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上...
-
优雅停止Springboot 服务的几种方法
在使用Springboot的时候,都要涉及到服务的停止和启动,当我们停止服务的时候,很多时候大家都是kill -9 直接把程序进程杀掉,这样程序不会执行优雅的关闭。而且一些没有执行完的程序就会直接退出。 我们很多时候都需要安全的将服务停止,也就是把没有处理完的工作继续处理完成。比如停止一些依赖的服务,输出一些日志,发一些信号给其他的应用系统,这个在保证系统的高可用是非常有必要...
-
PHP Curl的简单使用
本文写给刚入PHP坑不久的新手们,作为工具文档,方便用时查阅。CURL是一个非常强大的开源库,它支持很多种协议,例如,HTTP、HTTPS、FTP、TELENT等。日常开发中,我们经常会需要用到curl向其他系统api访问。使用要想使用CURL,大致需要如下流程:初始化CURL句柄设置选项执行并获取结果释放CURL句柄参见如下示例:<?php$ch = curl_init...
-
IDEA 2020,9个新特性曝光,程序员:追不上了...
IDEA 2020 更新这么贼快,老子开车都追不上了... idea下载地址:https://www.jetbrains.com/idea/download 新特性IDEA - 2020.1 版本针对调试器和代码分析器的改进,值得期待1、对于调试器的加强:数据流分析辅助2、调试加强:属性置顶功能3、调试加强:IPV6 调试4、性能分析的改进,剔除额外的东西5、支持读取内存快照文...
-
学会使用 Spring Boot 的异步调用
一、Spring Boot中异步请求的使用1、异步请求与同步请求特点:可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应。一句话:增加了服务器对客户端请求的吞吐量(实际生产上我们用的比较少,如果并发请求量很大的情况下,我们会通过nginx把请求负载到集群服务的各个节点上来...
-
吐血推荐珍藏的IDEA插件
之前给大家推荐了一些我自己常用的VS Code插件,很多同学表示很受用,并私信我说要再推荐一些IDEA插件。作为一名职业Java程序员/业余js开发者,我平时还是用IDEA比较多,所以也确实珍藏了一些IDEA插件。今天就一并分享给大家。在最开始,我还是想先介绍一下IDEA中如何安装插件,首先打开Preferences(菜单栏打开或者使用快捷键Command+,)在Windows...
-
Spring Cloud Gateway 实现Token校验
在我看来,在某些场景下,网关就像是一个公共方法,把项目中的都要用到的一些功能提出来,抽象成一个服务。比如,我们可以在业务网关上做日志收集、Token校验等等,当然这么理解很狭隘,因为网关的能力远不止如此,但是不妨碍我们更好地理解它。下面的例子演示了,如何在网关校验Token,并提取用户信息放到Header中传给下游业务系统。1. 生成Token用户登录成功以后,生成token,...
-
Java 高效插入百万级别数据到MySQL
导论笔者的毕业设计是一个与大数据相关的项目,其中遇到了一个将百万级别数据存储到MySQL 的问题,本来是打算使用Spark SQL 的DataFrame 自带的API来直接将数据存储到MySQL 中,可是当我看到MySQL 监控平台的数据,我瞬间被打了脸,没那么简单,在监控平台上面显示着平均每5 秒插入140条左右的数据,笔者瞬间被吓到了,心想,这可不行,按这个速度,那要运行到...
-
IDEA界面太丑了怎么办,教你如何改变idea界面风格
前言IntelliJ IDEA主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。IntelliJ idea默认的主体只有简单的白和灰,不一定能满足所有人的喜好一直使用IDEA进行开发难免会产生审美疲劳所以就搜集了下面的几款主题插件,换上之后给人眼前一亮的感觉,本文也介绍了自己如何...
-
缓存机制让JAVA类反射性能提升30倍
一次性能提高30倍的JAVA类反射性能优化实践在实际工作中的一些特定应用场景下,JAVA类反射是经常用到、必不可少的技术,在项目研发过程中,我们也遇到了不得不运用JAVA类反射技术的业务需求,并且不可避免地面临这个技术固有的性能瓶颈问题。通过近两年的研究、尝试和验证,我们总结出一套利用缓存机制、大幅度提高JAVA类反射代码运行效率的方法,和没有优化的代码相比,性能提高了20~3...
-
短网址(short URL)系统的原理及其实现
背景提供一个短址服务你有没有发现,我们的任务中出现长 URL 就会比较麻烦?如果有一个短址生成器就好了。虽然市面上有很多,但是我们可以重复发明一个轮子,利用这个机会尝试一下简单的 Web 全栈开发。任务做一个短链接生成器,可以将一个长链接缩短成一个短链接。要发车了 ?发车前,和大家说一下如果不想重复的造轮子,想开箱即用,可以使用基于 PHP 的开源软件 YOURLS。YOURL...
-
重写Spring Boot定时任务,支持可动态调整执行时间
Spring Boot应该是目前最火的java开源框架了,它简化了我们创建一个web服务的过程,让我们可以在很短时间、基本零配置就可以启动一个web服务。定时任务在我们平常的业务开发用的非常多,Spring Boot创建一个定时任务很简单,只需要用@Scheduled注解方法,就可以让方法按照定义的时间进行运行。但是,Spring Boot的@Scheduled默认是单线程的,...
-
Spring Cloud微服务架构中的数据权限DataPermision实现方案
Spring Cloud微服务架构中的数据权限DataPermision实现方案一、出现原因 在Spring Cloud的微服务架构中,常见的权限控制除了菜单权限外,还有数据权限DataPermision。菜单权限主要用于控制用户角色所能访问的菜单以及页面按钮的显示与否,而数据权限则控制业务数据显示当前公司,还是所有公司,还是当前公司及其子公司的数据。 近几年Java项目中,数...
-
java树形菜单制作
实际开发中,可能经常需要开发树形菜单,本篇文章就讲述一下树形菜单的制作。用到的技术1、SpringMVC2、Spring3、mybatis4、easyui代码实现dto(适用于easyui的实体类)public class OrgnDto { private String id; private String text; private String iconCls; priv...
-
Springboot 2.x 如何解决重复提交 (本地锁的实践)
有没有遇到过这种情况:网页响应很慢,提交一次表单后发现没反应,然后你就疯狂点击提交按钮(12306就经常被这样怒怼),如果做过防重复提交还好,否则那是什么级别的灾难就不好说了。。。本文主要是应用 自定义注解、 spring AOP、· Guava Cache 生成一种本地锁,来达到的防重复提交效果,由于是基于内存的缓存,所以这种实现方式并不适用于分布式服务Guava是什么?gu...
-
if-else代码优化的八种方案
前言代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案。优化方案一:提前return,去除不必要的else如果if-else代码块包含return语句,可以考虑通过提前return,把多余else干掉,使代码更加优雅。优化前:if(condition){ //doSomething}el...
-
Java 14 带来了 5 项新特性,能支持 H5 文本开发了
Java 14预定于3月17日发布。那么,14版究竟有什么新功能,对于整天写代码、维护代码的Java开发者来说,哪些功能最有用呢?以下为译文:第14版包含的JEP(Java Enhancement Proposals,Java增强提案)比12版和13版加起来还要多。在这篇文章中,我将主要讨论以下几点:改进的switch表达式,第一次出现在Java 12和13中,在Java 14...
-
iOS 13.3.1更新发布!这个功能需要你注意关闭
相信很多人现在都不得不闲在家里,苹果就没让大家闲着,发布了最新iOS13.3.1系统让大家更新更新,也没啥新功能,就是针对上个版本更新所带来的各种BUG修复。一同推出的还有iPadOS13.3.1、tvOS13.3.1、macOSCatalina10.15.3以及watchOS6.1.2更新。从详情来看,本次更新的内容如下:修复了在未输入“屏幕使用时间”密码的情况下可在“限定通...
-
windows下安装多个java版本出现'has value '1.8',but'1.7' is required'问题的解决方法
因考虑到代码的可持续维护性,要求全部使用java7,自己又想在空闲时间学一些java8的新特性,故在安装完1.7之后又安装了1.8,导致eclisp在启动时报’has value ‘1.8’,but’1.7’ is required’的错误,在控制台使用Java -version进行查询发现,依然会报’has value ‘1.8’,but’1.7’ is required...
-
nginx运行php的终极方法,可避免许多不必要的坑
说明php有许多开源项目比较好像,在自己的机器上用docker搭建了很多。每个docker都是跑了个apache,每个docker里面都有apache。这样好像有点浪费资源,而平时都是用nginx,所以研究了用nginx运行php中间竟然碰到许多坑,而回过头来看,其实都很简单。nginx运行php的原理nginx不能解析php,要和php-fpm配置使用。nginx负责将php...