自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

叶新东老师的博客

在java叶新东老师的博客你将会看到更多图文并茂、由浅入深的精致文章

  • 博客(23)
  • 资源 (29)
  • 问答 (8)
  • 收藏
  • 关注

原创 设计模式 -- 模板方法模式

模板方法模式原文介绍 定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。 这原文乍一看是不是特抽象?这特么说的都是啥玩意,这也太抽象了吧,我相信只要是一个正常受过九年义务教育的人都看不懂这说的啥,不过呢,今天这篇文章就是帮助大家彻底理解这个东东的;模板方法通俗地讲,其实就是先定义一个抽象方法,将相同的逻辑放在抽象类里面,将不同的逻辑由子类实现,模板方法使用场景实现一些操作时,整体...

2021-04-29 22:09:12 529

原创 设计模式 -- 建造者模式

建造者模式原话:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示;其实就是将一个对象详细化,比如把人分为美国人、日本人、中国人、韩国人、非洲人,每一种人都有不同的肤色、身高、头部特征;其实仔细看,建造者模式和工厂模式很像,很多人将这2者傻傻分不清楚,其实,工厂模式创建的是单个类,而建造者模式是将一个类型的东西集中起来进行管理,比如人类,它的里面会有很多分类: 1、黑皮肤、大高个、做事拖拉懒散,将这三者结合起来就成为一个类型:黑人; 2、黄皮肤、...

2021-04-27 22:18:19 593 1

原创 设计模式 -- 代理模式 静态代理和动态代理

代理模式的定义: 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用,可以理解为是托管的作用,就像手机里的欢乐斗地主一样,我可以自己决定打什么牌,也可以用托管的方式让电脑帮我决定打什么牌,这时候电脑就帮我做了很多事情,我只需要像葛优一样躺在那静静地看着就好了,这种托管的形式就叫做代理模式; 在电脑程序中,一个对象创建后交给代理模式去管理,除了程序原有的逻辑,代理类还会为这个对象增加额外的逻辑处理,简单地说就是在不改变原代码的情况下来达到扩展功能的目的,一...

2021-04-27 21:28:26 616

原创 idea每次创建项目JDK版本都是1.5的解决方法

因为版本不同,每次运行main方法进行测试的时候都会报以下错误: Error:java: Compilation failed: internal java compiler error所以每次都得去 设置里面改回来,用起来很是麻烦但是现在有一种非常好用的方法,就是直接修改maven 的配置文件,我们先看看使用的maven 是哪个版本的,版本下会直接显示出maven 的目录地址,先进入maven3目录下的conf目录,settings.xml文件就...

2021-04-25 23:12:30 3149 4

原创 Future模式

什么是Future模式想象这样一个场景: 我去饭店里面吃饭,点好菜后,厨师在厨房做菜,而我在店里面等着上菜,如果只是干巴巴地等,那这段 “等上菜” 的时间就会浪费掉,如果说我在等的同时做一些其他的事,比如看会书、刷刷小视频、或者敲敲代码、和隔壁桌也在等上菜的客人聊聊人生谈谈理想,那么这段 “等” 的时间我就不只是在等, 我还做了一些有意义的事情;也充分利用了时间,不至于浪费! 这种不浪费,我们就可以称之为Future模式;Future模式的核心在于:去除了主函数的等待时间,并使得原本需要等待的时间.

2021-04-24 23:31:43 654

原创 JAVA队列( Queue ) 详解

什么是队列? 队列是一种特殊的线性表,遵循先入先出、后入后出的基本原则,一般来说,它只允许在表的前端进行删除操作,而在表的后端进行插入操作,但是java的某些队列运行在任何地方插入删除;比如我们常用的 LinkedList 集合,它实现了Queue 接口,因此,我们可以理解为LinkedList 就是一个队列;java队列特性队列主要分为阻塞和非阻塞,有界和无界、单向链表和双向链表之分;阻塞和非阻塞阻塞队列 入列(删除元素)时,如果元素数量超过队列总数......

2021-04-24 17:43:13 87747 9

原创 java线程池底层运行过程以及参数详解

相信线程池这个东东只要只要是做过开发的童鞋们都熟悉,用起来那是相当地简单啊,而且功能强劲,优化的又好,使用还去除了冗余的代码层级,提高了代码的可读性,创建线程池只需要用到四种newCachedThreadPool 创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定...

2021-04-24 15:31:04 770

原创 JAVA 127和128分别用== 号判断,竟然一个为true一个为false

先看代码 public static void main(String[] args) { Integer one = 127; Integer two = 127; System.out.println(one == two); Integer one_1 = 128; Integer two_1 = 128; System.out.println(one_1 == two_...

2021-04-22 23:08:10 949 1

原创 JSQLParser 解析sql语句框架详解

因公司有需求,需要根据用户输入的sql中获取到表名,网上查询到有个框架很实用,于是就小试牛刀,此框架是githup团队研发的一款sql解析框架,也是公认最好用的,不单可以解析sql,还可以用来拼接sql;使用前先导入maven,目前最新版本已经更新到4.0了,童鞋们根据自己实际情况来选择相应版本 <dependency> <groupId>com.github.jsqlparser</groupId> .

2021-04-22 18:24:20 3719

原创 设计模式 -- 工厂模式

工厂的指责就是制作产品,那么产品就可以理解为是我们的对象,而工厂就是为了实例化对象而对象的,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。1、简单工厂模式简单工厂模式:也叫静态工厂模式,简单工厂模式相当于试试一个工厂中有各种产品,创建在一个类中,客户无需知道具体产品的名称,只需要知道产品的参数即可,相当于所有的汽车都是由一个厂里面生产出来的的,这个厂既能生产宝马,又能生产奔驰,还能生产其他的品牌的汽车,但是工厂的职责过重,而且当类型过多时.

2021-04-21 17:10:58 565

原创 设计模式 -- 单例模式

单例模式的特点 1、保证在jvm 中只有一个实例; 2、应用场景:servlet 、springioc(默认单例)、连接池、线程池、枚举、常量; 3、优点: 节省内存,重复使用,方便管理 4、缺点:有线程安全问题;单例模式的分类 1、懒汉式:将单例对象设为静态属性并加上final修饰符,初始化单例类时就立即创建对象实例,天生线程安全;调用率高 2、饿汉式:将单例对象设为静态属性并加上final修饰符,初始化单例类时不会立即创建对象...

2021-04-20 18:57:28 640 2

原创 java 动态字节码技术和类加载

字节码有什么用?1、对类的基本信息进行操作 ,可以新增、删除、修改类、属性和方法;2、应用场景:Lombok 插件、AOP、动态修改class文件、网页上的在线执行java代码也是字节码实现的;2、Lombok 插件就是用字节码实现,只用Data注解就可以给属性自动加上get和set方法4、常见的字节码操作类库: BCEL: 深入汇编底层语言进行类库操作; ASM: 轻量级字节码操作框架,直接涉及到jVM底层的操作和指令;高性能、高质量 CGLB: 生成类...

2021-04-19 23:53:39 1296 3

原创 静态代码块执行顺序

虽然说不管是静态变量还是静态方法,这些都是java基础的知识了,但我发现还是有很多人不懂静态的原理,静态的属性遵循以下规则:静态方法会在构造方法之前执行 静态属性从上到下按顺序执行 静态属性不需要初始化即可直接使用;1、静态属性会在构造方法之前执行,举个例子就知道啦;我们看看下面的代码public class Main { static{ System.out.println("1:静态代码块"); } public Main(){ ...

2021-04-18 13:33:54 1690 1

原创 jvm 性能调优 参数配置

jvm性能调优的最基本条件 就是要减少垃圾回收机制的回收次数,因为每次回收的时候,其他工作线程都会停顿一段时间,gc需要集中清理垃圾内存就必须暂停个工作线程,但是我们人为是看不出区别的;调优注意项堆初始值(Xms)一定要和堆的最大值(Xmx)设置成一样的,如果不相等的话,会造成垃圾回收机制一直不停地在回收,因为空间太小了,不停地去申请内存并进行回收,大大降低了系统性能,因为垃圾回收机制和设置的最大堆内存(Xmx)无关,只和初始堆内存(Xms)有关; 垃圾回收机制的回收次数,跟初始...

2021-04-18 10:49:45 776

原创 jvm可视化 工具

jdk可视化工具的作用 用来监控堆内存使用情况(新生代、老年代、方法区)、cpu使用情况,线程数量、类的数量、并且可以检测死锁;1、jsoncole 可视化工具jsoncole 是java内置的一款性能分析器,使用方法非常简单,直接在cmd控制台输入jconsole即可打开窗口,前提是配置了jdk环境变量,否则就得去 jdk的安装目录下的bin文件夹里面,界面如下2、jvisualVM也是java内置性能分析器,...

2021-04-18 10:13:07 806

原创 java虚拟机内存结构和垃圾回收机制算法详解

java是目前全球最火的语言,热度也是最高的,相信做开发的你肯定用过,那我就要问问,你仅仅是用过还是了解它的底层机制和执行原理呢?那么今天我们就揭开它神秘的面纱,看看jvm在我们开发的时候帮我们做了哪些事情;说到这里,有个小兄弟要问了:“我会用不就行了吗?了解它干啥呢?难不成我要自己写一个jvm出来?if 和 for 语句我用得可顺手,了解它的底层机制有卵用?”; 唉~ ,这位小兄弟,你先别急啊,首先呢,用只是基础,就像开发一样,增删改查就是一个开发人员的基础,难不成你想一辈子都干增删改查吗? 学习...

2021-04-15 15:13:50 732

原创 mac使用 git 将本地磁盘中的项目或文件夹上传到码云

上传步骤:1、码云上新建一个项目 XXXX(项目名)2、本地创建一个文件夹E:/XXXX,然后使用git bash (windows 步骤,mac电脑不需要此操作)3、cd 到本地文件夹中 cd /XXXX/xxxx //如果是在创建的文件中git bash则此步骤可省略4、使用 git init 命令//初始化一个git 本地仓库此时会在本地创建一个 .git 的文件夹5、使用git remote add origin https:/...

2021-04-10 23:03:47 1060

原创 HashMap底层原理以及 LinkedHashMap、HashTable 、HashSet 四者区别

为了搞懂HashMap,作者经常夜不能寐,熬夜刷文章、看源码、撸代码、做测试,终于在今天下午的1点30分55秒搞HashMap究竟是何方神圣,我想,这也许就是代码的魅力吧,为了这玩意我可真是煞费苦心,虽然辛苦,但是也很开心,又研究透了一样东西,这种快乐简直让人流连忘返,不多说,开始表演!HashMap在各JDK 版本的区别 在JDK1.7以前,HashMap 是用 【数组 + 单向链表】 实现的, 而在JDK 1.8 是使用 【数组 + 红黑树】实现的,本文主要具体讲讲数组+单向...

2021-04-10 01:29:33 816 2

原创 try-with-resource 不调用close()方法也能回收垃圾

传统的try catch finally 方式是这样的 public static void main(String[] args) throws IOException { FileInputStream fileInputStream = null; try{ // 捕获异常 fileInputStream = new FileInputStream(new File("/Users/mac/Documen...

2021-04-08 16:49:53 847

原创 CAS 自旋锁/无锁机制算法

CAS无锁机制是乐观锁的一种,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做;Atomic 类就是使用CAS无锁机制实现的类CAS操作依赖底层硬件的CAS指令,CAS指令有两个步骤:冲突检测和更新操作,但是这两个步骤合起来成为一个原子性操作。CAS指令需要3个操作数:内存位置(V)(主内存) 旧的预期值(A)(本地内存) 新值(B)CAS指令执行时,...

2021-04-05 15:51:04 1212

原创 二叉树、B树、红黑树

在数据结构中,树这个概念用的非常多,特别是在Map 存储中其实就是一个树的概念, 这种结构也叫树结构,跟线性结构不同,线性结构就是链表,就是一条线就可以表示完了,但是树状结构的分支会有无限多,我们本章就是只要理清楚红黑树的概念,但是要想理清楚红黑树就必须得先知道普通的树和B树的结构,理清楚这两个树可以帮助我们更好地理解红黑树,因为红黑树和B树是可以互相转化的!树树没什么好说的,一个图你们就明白了树是怎么回事了!我们入场生活中的树的根是在下面的,但是在数据结构中,树的根节点一般是在上面的...

2021-04-05 15:25:41 839

原创 volatile 执行原理图

synchronized重量级锁,synchronized是非公平锁,拥有可重入性 非公平锁:意思是多个线程按照抢占的方式获得锁,并非按照顺序执行,未抢占到运行权的线程有可能出现饥饿现象, 公平锁: 多个线程按照申请的顺序获得锁;ReentrantLock / synchronized 可重入锁 / 递归锁重入锁指的是在同一线程,在外层函数获得锁之后,内层递归函数仍然有获得锁的代码,但执行时不受影响,ReentrantLock 属于轻量级的锁synchroniz...

2021-04-05 00:20:47 582

原创 ArrayList 、 LinkedList、Vector的区别

ArrayList 、 LinkedList、Vector的区别如下: 结构 是否线程安全 效率 ArrayList 动态数组 否 遍历查找快,插入删除慢 LinkedList 双向链表 否 插入删除快,遍历查找慢 Vector 动态数组 是 遍历查找快,插入删除慢 ArrayList ArrayList 是动态数组,动态的意思是可以随时增加数组长度,众所周知,普通数组的长度是定死的,想要增加长度,就必须...

2021-04-02 23:21:35 1501 2

jenkins2.354版本,原版

jenkins2.354版本,原版

2022-06-13

实时打印 linux 服务器日志项目

实时打印 linux 服务器日志项目,不依赖其他框架,很简单的一个实时打印日志的项目文件,可以加人到其他服务器中

2020-04-07

Jenkins2.215安装包和常用插件包.zip

压缩包里面有2个文件:jenkins.war、plugins.zip jenkins.war是war包,启动war包需要tomcat容器; plugins.zip是常用插件的安装包,解压后将文件替换在/root/.jenkins/plugins同名文件夹,然后重启jenkins即可;root是系统用户的路径,根据系统不同路径也不同;jenkins插件包位置可参考刚开始初始化界面时让你输入密码的路径!

2020-01-20

linux最全的依赖oracle11g的rpm包.zip

linux最全的依赖oracle11g的rpm包,安装oracle时,这些依赖包缺一不可,配置监听程序时需要用到

2019-12-29

前端js解析/读取excel文件

前端js解析/读取excel文件,完整解析,简单操作,官网地址 http://oss.sheetjs.com/js-xlsx/

2018-12-22

springCloud项目-内含eureka注册中心和一个服务

springCloud项目-内含eureka注册中心和一个服务,总共2个服务,需要的童鞋可以体验下微服务的功能

2018-12-11

nodejs-webpack进阶教程-逐步加入vue、HtmlWebpackPlugin、css压缩、热部署

进阶教程代码,,里面具有详细的注释以及使用方法,此教程想免费送,无耐下载资源最低一分

2018-11-30

Mybatis-Generator自动生成Dao、Model、Mapping相关文件,不依赖maven,直接生成

Mybatis-Generator自动生成Dao、Model、Mapping相关文件,不依赖maven,直接生成

2018-10-24

jenkins 2.138.2版本中文版

jenkins中文版 2.138.2版本,目前官网上的最新版本,欢迎下载

2018-10-16

springCloud 完整搭建-已实现负载均衡-内含教程

已搭建好的简单微服务框架,内含搭建教程,基于springCloud

2018-10-14

nginx利用redis实现session会话共享-tomcat8版本专用

搭建教程请查看 https://blog.csdn.net/qq_27184497/article/details/82626126

2018-09-11

cas sso单点登录已搭建好的源码-内含客户端和服务端

详情请看内部说明,里面写的很详细·,排队领取阿萨德

2018-07-26

cas-server-webapp-4.0.0.war--cas server去掉https验证

cas-server-webapp-4.0.0.war--cas server去掉https验证.下载后直接部署tomcat即可,建议下载后将名称改为cas.war

2018-07-24

cas-server-4.0.0-release单点登录源码和war包-原版

原版cas单点登录源码和wa包,原版sso,官网下载太慢,所以特地放到csdn

2018-07-24

mybatis-generator-core-1.3.2(含有源码--生成注释、自定义sql)第二版本

mybatis-generator-core-1.3.2(含有源码--生成注释、自定义sql)2.0版本

2018-07-23

mybatis-generator-core-1.3.2(含有源码--生成注释、自定义sql)

mybatis-generator-core-1.3.2(含有源码--生成注释、自定义sql) 只需修改2个文件即可,生成了mysql字段的注释,以及去除多余无用的sql,只留下增删改查,文件内含源码和已经打好的jar包,直接使用即可

2018-07-23

自定义注释的mybatis-generator-core-1.3.6.jar

自定义注释的mybatis-generator-core-1.3.6.jar, 可以生成带表字段注释的实体类

2018-07-22

mysql-connector-java-5.0.8-bin 连接mysql数据库的驱动jar包

连接mysql数据库的驱动jar包,mybatis框架必用jar包,也可以用来配合pom生成代码

2018-07-20

百度地图API记录轨迹和里程Javascript版html 增强版

里面包含完整代码,提供ak密钥,到百度地图页面申请即可,实现了手机和电脑浏览器的定位功能

2018-06-25

mysqldump java远程备份mysql数据库 cmd备份

此mysqldump版本为5.6.12,内含详细使用方法,包括cmd的备份方式、java的备份方式

2018-06-22

SpringBoot整合Dubbo增强版

SpringBoot整合Dubbo 增强版,优化了maven update 后 resource源文件夹不显示的问题

2018-06-12

SpringBoot整合Dubbo项目

里面已有详细注释和使用方法,需要请自行下载即可,个人原创,不可用于商业目的

2018-06-12

百度地图API记录轨迹和里程Javascript版html

里面包含完整代码,自己提供ak密钥,到百度地图页面申请即可

2018-06-01

钉钉连接开发平台程序

除此之外还需要更换jdk的jar包,以及导入钉钉依赖jar包,并且配置订单的配置文件,里面都没有这些东西,具体请到钉钉官网下载

2018-04-28

redis服务端以及java程序和教程

内含windows版的redis程序,和java连接redis的程序,还有教程文档,java程序需要在exlipse内运行,当然你也可以打成jar包直接运行

2018-04-28

SpringBoot Mybatis多模块整合

多模块整合,自己备份用,想要的也可以拿走,,,,,,

2018-04-26

maven多模块项目工程-已搭建好

maven多模块项目,使用eclipse开发工具创建,有意可下载,没有解压密码

2018-04-26

eclipse代码注释风格

内含使用方法!这里不过多赘述!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-04-24

springBoot整合mybatis

完美的整合了springboot和mybatis,表数据字段可根据自行修改,我只用了简单的字段,也方便大家修改

2018-04-24

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除