自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小志的博客

随笔笔记仅供参考

  • 博客(27)
  • 资源 (14)
  • 收藏
  • 关注

原创 java设计模式——单例模式中反射攻击及解决方案

目录一、饿汉式的反射攻击及解决方法1.1、通过反射机制的方式和通过类名.方法名的方式分别获取对象,示例如下:1.2、饿汉式单例模式反射攻击的解决方案二、静态内部类的反射攻击及解决方法2.1、通过反射机制的方式和通过类名.方法名的方式分别获取对象,示例如下:2.2、静态内部类的反射攻击解决方案三、懒汉式的反射攻击及解决方法3.1、通过反射机制的方式和通过类名.方法名的方式分别获取对象,示例如下:3.2、懒汉式无法解决反射攻击四、结论一、饿汉式的反射攻击及解决方法1.1、通过反射机制的方式和通过类名.方法名

2020-05-31 22:30:33 611

原创 idea捕获异常快捷键

1、有的时候idea捕获异常的快捷键Alt+Enter不会弹出提示,如下图:2、使用Ctrl+Alt+T,会弹出try catch异常提示,如下图:

2020-05-31 20:47:42 9601

原创 java设计模式——单例模式之序列化会破坏单例模式及解决方案

一、序列化饿汉式单例模式的示例1、定义一个饿汉式单例模式并实现序列化接口package com.rf.designPatterns.singleton.serializeHungrySingleton;import java.io.Serializable;/** * @description: 饿汉式单例模式实现序列化接口 * @author: xiaozhi * @create: 2020-05-24 15:24 */public class SerializeHungrySingle

2020-05-24 21:10:07 986

原创 idea2018版本添加上一步和下一步操作到工具栏

1、File—>Settings,步骤如下图:2、然后重新打开idea工具,可以看到一个左箭头和一个右箭头,效果图如下:

2020-05-24 20:08:32 6766 2

原创 java设计模式——单例模式之饿汉式(方式二)

1、饿汉式代码:package com.rf.designPatterns.singleton.hungrySingleton;import javax.sound.midi.SoundbankResource;/** * @description: 饿汉式单例模式 * @author: xiaozhi * @create: 2020-05-23 22:26 */public class HungrySingleton { //直接声明一个需要被单例的对象,在静态块中初始化对象

2020-05-23 22:47:31 319

原创 java设计模式——单例模式之饿汉式(方式一)

1、懒汉式代码:package com.rf.designPatterns.singleton.hungrySingleton;/** * @description: 饿汉式单例模式 * @author: xiaozhi * @create: 2020-05-23 22:26 */public class HungrySingleton { //直接声明一个需要被单例的对象,并初始化 private final static HungrySingleton hungrySing

2020-05-23 22:41:25 314

原创 java设计模式——单例模式之静态内部类方式

单例模式的懒汉式基于静态内部类的方式即兼顾了性能又保证了线程安全一、示例代码:1、分别定义一个懒汉式基于静态内部类的类、线程类和测试类。package com.rf.designPatterns.singleton.sttaicInnerClassSingleton;/** * @description: 静态内部类的单例模式 * @author: xiaozhi * @create: 2020-05-22 21:24 */public class StaticInnerClassSing

2020-05-22 21:44:45 722

原创 java中fastjson解析多层嵌套json字符串

一、解析json对象中嵌套一个json子对象示例1、代码如下:package com.rf.utils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;/** * @description: * @author: xiaozhi * @create: 2020-05-21 20:51 */public class TestJSON { /** * JSON实际上也是键值对("

2020-05-21 21:20:08 13465 2

原创 java设计模式——单例模式之懒汉式双重检查锁方式

一、示例代码:1、分别定义一个懒汉式双重检检查锁单例类、线程类和测试类2、懒汉式双重检检查锁单例类分析,如下图:3、运行结果为,多个线程每次都会生成相同的对象,如下图:

2020-05-20 10:23:57 1412

原创 java设计模式——单例模式之懒汉式及多线程debug

一、懒汉式多线程示例代码1、定义一个懒汉式类的单例类package com.rf.designPatterns.singleton;/** * @description: 懒汉式:注重延迟加载,只有使用时才创建对象 * @author: xiaozhi * @create: 2020-05-19 13:59 */public class LazySingleton { //声明一个需要被单例的对象,初始化时没有被创建所以设置null private static LazySi

2020-05-20 09:12:25 380

原创 java设计模式——单例模式之懒汉式及单线程debug

一、懒汉式示例代码二、懒汉式单线程debug

2020-05-19 16:11:41 268

原创 java设计模式——单例模式的概念

一、单例模式的定义与类型1、定义保证一个类仅有一个实例,并提供一个全局访问2、类型创建型二、单例模式的适用场景想确保任何情况下都绝对只有一个实例三、单例模式的优点在内存里只有一个实例,减少了内存开销可以避免对资源的多重占用设置全局访问点,严格控制访问四、单例模式的缺点没有接口,扩展困难五、单例模式中需要考虑的重点问题私有构造器问题线程安全问题延迟加载问题序列化和反序列化安全问题反射六、单例模式的Doule Check(双重检查锁机制)七、单例

2020-05-18 17:10:39 385

原创 CSDN添加文章目录一张图搞定

1、步骤如下图:2、效果如下:

2020-05-18 15:02:30 287

原创 深入理解Java虚拟机——可视化监控工具(Jconsole)

一、JVM可视化监控工具的使用1、进入jdk的bin目录,找到jconsole.exe程序。如下图:2、打开window命令行窗口,进入jdk的bin目录下输入jconsole启动jvm可视化监控工具,如下图:3、或者直接双击jdk的bin目录下的jconsole.exe程序打开jvm可视化监控工具4、概览tab标签页可以查看堆内存使用量、线程、类、CPU占用率的折线图5、内存tab标签页可以查看堆内存使用量、非堆内存使用量、内存池“PS Eden Space”等等信息的折线图。如下图:

2020-05-16 16:43:47 8794

原创 jvm内存溢出问题的分析与解决

一、写一个简单的内存溢出程序。1、创建一个空的学生类2、编写一个内存溢出的测试类3、配置参数详解-Dfile.encoding=UTF-8-Xms20m -Xmx20m 设置堆大小20m,将最小和最大值设置相等,避免扩展-XX:+HeapDumpOnOutOfMemoryError dump出当前的内存堆转储快照-XX:HeapDumpPath=E:\job 指定路径(转储文件还是挺大的)-XX:SurvivorRatio=8 存活比2:84、配置程序jvm参数,右键选择【Run

2020-05-16 15:19:22 422

原创 Java8日期时间新特性简单示例

一、简介二、关键类

2020-05-15 22:37:31 442

原创 java设计模式——建造者模式

一、建造者模式的定义与类型1、定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示用户只需指定需要建造的类型就可以得到它们,建造过程及细节不需要知道2、类型创建型二、建造者模式的适用场景如果一个对象有非常复杂的内部结构(很多属性)想把复杂对象的创建和使用分离三、建造者模式的优点封装性好,创建和使用分离扩展性好、建造类之间独立、一定程度上解耦四、建造者模式的缺点产生多余的Builder对象产品内部发生变化,建造者都需要修改,成本较大五、

2020-05-13 22:41:36 302

原创 java设计模式——抽象工厂模式

一、工厂方法的定义与类型1、定义:抽象工厂模式提供一个创建一系列相关或者相互依赖对象的接口无须指定他们具体的类2、类型:创建型二、抽象工厂的适用场景客户端(应用层)不依赖于产品类实例如何被创建、实现等细节强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量重复的代码提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于具体实现三、抽象工厂的优点具体产品在应用层代码隔离,无须关心创建细节将一个系列的产品族统到一起创建三、抽象工厂的缺点规

2020-05-11 22:04:45 348

原创 java设计模式——工厂方法模式

一、工厂方法的定义与类型1、定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。2、类型:创建型二、工厂方法的适用场景1、创建对象需要大量重复的代码。2、客户端(应用层)不依赖于产品类实例如何被创建、实现等细节。3、一个类通过其子类来指定创建哪个对象。三、工厂方法的优点1、用户只需要关心所需产品对应的工厂,无须关心创建细节。...

2020-05-07 22:52:04 376

原创 java设计模式——简单工厂

一、简单工厂定义与类型1、定义:由一个工厂对象决定创建出哪一种产品类的实例2、类型:创建型,但不属于GOF23种设计模式二、简单工厂适用场景1、工厂类负责创建的对象比较少2、客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心三、简单工厂优点只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节四、简单工厂缺点工厂类的职责相对过重,增加新的产品...

2020-05-05 22:34:58 422

原创 java设计模式——里氏代换原则

一、什么是里氏代换原则:一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类和子类对象的区别。也就是说,在软件里面,把父类替换成它的子类,程序的行为没有变化。1、示例(1)、定义一个人员类package com.rf.rules.liskovSubstitution;/** * @description: 定义一个人员类 * @author: xiao...

2020-05-05 12:25:46 529

原创 java设计模式——迪米特原则

一、概念1、定义:一个对象应该对其他对象保持最少的了解。又叫最少知道原则尽量降低类与类之间的耦合2、优点:降低类之间的耦合3、主要强调的是什么:强调只和朋友交流,不和陌生人说话出现在成员变量、方法的输入、输出参数中的类称为成员朋友关系,而出现在方法体内部的类不属于朋友类。二、迪米特原则简单示例1、示例1:没使用迪米特原则。(1)、定义一个老板Boss类,执行...

2020-05-04 15:20:13 390

原创 java设计模式——接口隔离原则

一、概念1、定义:用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口。一个类对一个类的依赖应该建立在最小的接口上建立单一接口,不要建立庞大臃肿的接口尽量细化接口,接口中的方法尽量少注意适度原则,一定要适度2、优点符合我们常说的高内聚低耦合的设计思想,从而使得类具有很好的可读性、可扩展性和可维护性。...

2020-05-04 13:32:24 327

原创 java设计模式——单一原则

一、概念1、定义:不要存在多于一个导致类变更的原因2、简单理解定义:一个类、接口、方法只负责一项职责3、优点:降低类的复杂度、提高类的可读性,提高系统的可维护性、降低变更引起的风险。二、单一原则简单示例1、示例1:没使用针对类级别的单一职责。(1)、定义一个鸟类package com.rf.rules.singleResponsibility;/** *...

2020-05-03 23:44:01 1075

原创 java设计模式——依赖倒置原则

一、概念1、定义:高层模块(即controller层)不应该依赖低层模块(即service层或者dao层),二者都应该依赖其抽象。抽象不应该依赖细节,细节应该依赖抽象。针对接口编程,不要针对实现编程。2、优点:可以减少类间的耦合性、提高系统稳定性,提高代码可读性和可维护性,可降低修改程序所造成的风险。二、依赖倒置原则简单示例1、示例1(1)、定义一个人员为张三学习课程的类...

2020-05-02 22:37:35 547

原创 java设计模式——开闭原则

一、概念1、定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节2、简单理解定义:当软件需要变化时,尽量通过扩展软件实体的行为类实现变化,而不是通过修改已有代码来实现变化3、优点:提高软件系统的可复用性及维护性二、开闭原则简单示例1、示例1(1)、定义一个课程接口package com.rf.rules;/** * @D...

2020-05-02 18:55:03 521

原创 IDEA的Diagram功能

一、以图形的形式查看关系链的2种方式1、选则类,右键—【Diagrams】—>【Show Diagrams…】,如下图:2、选择包名,右键【Diagrams】—>【Show Diagrams…】—>【Java Class Diagrams】,如下图:蓝色实线箭头:继承关系绿色虚线箭头:接口实现关系二、展示类的详细信息点击下图中左上角的5个按钮,即可展示详细信...

2020-05-02 18:30:21 8941

ojdbc(6、8、14版本jar)

ojdbc(6、8、14版本jar)

2020-12-24

docker+k8s.txt

一份很不错的学习k8s的视频,包括docker一部分和k8s一部分,希望有需要的人能够下载下来一份很不错的学习k8s的视频,包括docker一部分和k8s一部分,希望有需要的人能够下载下来

2019-06-19

科大讯飞语音识别java版本demo

调用科大讯飞SDK包,语音识别java版本代码示例。示例包括语音听写、语音识别、语音组合三个功能,本人只用到语音听写(即把语音转成文字)

2019-04-25

科大讯飞Msc.jar

科大讯飞SDK包中的msc.jar包,msc 语音功能 需要该jar包的引用。科大讯飞Msc.jar

2019-04-11

apache-tomcat-7.0.57.tar.gz

java开发技术所需的 tomcat7版本的apache-tomcat-7.0.57.tar.gz包

2017-10-19

zookeeper-3.4.6.tar.gz

java技术所需的 zookeeper-3.4.6版本的注册中心tar包 。

2017-10-19

dubbo-admin-2.5.3.war

dubbo-admin-2.5.3.war ,dubbo管理控制台所需的dubbo-admin-2.5.3.war

2017-10-19

kindeditor编辑器

kindeditor编辑器

2016-12-26

ueditor编辑器

ueditor编辑器

2016-12-26

redis-3.2.4.tar

redis数据库安装包

2016-12-22

微信小程序开发工具

小程序开发工具

2016-12-22

微信小程序 实例汇总 完整项目源代码

微信小程序 实例汇总 完整项目源代码

2016-12-21

RSS订阅例子

RSS订阅

2016-11-25

轮播图代码

轮播图代码

2016-11-25

空空如也

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

TA关注的人

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