摘要:线程池 ThreadPoolExecutor类 参考:https://www.cnblogs.com/dolphin0520/p/3932921.html 构造方法: ThreadPoolExecutor (int corePoolSize, int maximumPoolSize, long ke
阅读全文
摘要:线程同步&线程池 线程同步 线程不同步会出现的问题: 当多个线程操作同一资源时,会出现重复操作和和操作不存在的资源的问题,为了规避这一问题就需要线程的同步操作来实现资源的共同使用。 线程同步: 当多个线程操作同一资源时,给操作该资源的代码加上一把锁,当有一个线程拿到这把锁后,其他线程都不能操作带锁的
阅读全文
摘要:基本数据类型注意事项 整型类型:long int short byte java默认类型为int型 long a = 123 表示将int类型的数值赋给更大范围的long类型,当数据超过long类型时,必须声明long变量,且必须加l,声明为改数据为long型 long a = 2147483648
阅读全文
摘要:集合中常用的数据结构 一)、栈 栈的特点:先进后出 二)、队列 队列的特点:先进先出 三)、数组 数组的特点:查询快,增删慢 查询快的原因:数组的地址连续,通过地址可以找到数组,通过索引可以找到元素。 如:一个班的学生按学号排列在一起,你想找一个同学,通过学号你很快就能找到 增删慢的原因:增删需要做
阅读全文
摘要:常量与变量的使用 一)、字符串常量和字符常量 1 1):字符串常量: 由双引号" " 引起的内容,println("善学如春起之苗"); 1 2):字符常量: 由单引号' ' 引起的内容 println('J'); public class Test1 { public static void ma
阅读全文
摘要:Redis入门使用 参考:https://blog.csdn.net/hellozpc/article/details/81267030 一)、缓存的用途举例 1.前端页面广告的数据无需每次查询后台系统的接口 ,可以在前台系统添加缓存 ,提高访问首页的速度 2.电商网站首页左侧商品类目一栏的数据也可
阅读全文
摘要:参考:https://www.liaoxuefeng.com/wiki/896043488029600 一)、git的使用: 1.创建版本库(Resopsitory),相当于一个目录,目录中所有的文件被git管理,每个文件的修改跟删除操作都会被跟踪监控。 .git : 跟踪管理版本库 注: 所有版本
阅读全文
摘要:使用idea来部署git项目 一)、将项目交由git管理 VCS import into Version Cntorl create Git Repository 选择交给git管理的项目(成功,项目变为紫色) 二)、将项目添加到git 选中项目 》右键 》Git add (成功项目变为绿色) 提交
阅读全文
摘要:一)、Error:java: java.lang.ExceptionInInitializerError 该错误在spring boot 启动时报: 网上是说:在静态变量初始化执行前使用了静态变量 查看Event log: 2019 08 31 09:37:56,380 [3098523] INFO
阅读全文
摘要:了解什么是微服务 参考:https://www.cnblogs.com/skabyy/p/11396571.html 一)、原有单体服务的弊端 场景演示: 需求:小明和小皮一起创业做网上超市 的故事 功能: 网站 用户注册、登录功能 商品展示 下单 管理后台 用户管理 商品管理 订单管理 二)、业务
阅读全文
摘要:通过模拟咖啡馆的点单系统来剖析装饰者模式的使用 参考:https://blog.csdn.net/gududedabai/article/details/81989196 一)、传统的点单系统构建,每一个种类的咖啡都定义一个类 弊端: 1. 如果为每一种混合咖啡都定义一个类,那么,会产生很多的类对象
阅读全文
摘要:(一)、享元模式的简单介绍 享元模式:类似于池技术,实现对象的复用。 好处: 1)、减少内存的使用 ,避免出现大量重复的创建销毁对象的场景 2)、外部状态相对独立,而且不会影响其内部状态 ,元对象可以在不同的环境中 被共享 享元模式的实现:把一个对象的状态分成内部状态和外部状态 ,内部状态即是不变的
阅读全文
摘要:参考:https://blog.csdn.net/yhl_jxy/article/details/80633194 comments CGLIB动态代理 定义:CGLIB(code genaration libary), 代码自动生成类库。 在程序运行中自动生成扩展类和实现java接口,是一个强大的
阅读全文
摘要:一)、创建动态代理的步骤 1、主题接口 2、代理类 3、真实类 4、使用类 1)主体接口中定义了代理类和真实类的的公共接口方法,代理类和真实类分别实现主体接口,真实类实现了接口方法的具体逻辑,代理类也实现了同样的接口方法,在方法中调用真实类的逻辑,相当于拿到了被代理人的授权,执行被代理人拥有的功能。
阅读全文
摘要:什么是代理模式?使用代理对象完成用户请求,屏蔽用户对真实对象的访问 代理模式的应用? 1、因为安全原因,屏蔽客户端直接访问真实对象 2、远程调用中,需要代理类处理远程调用的技术细节 3.使用代理类实现延迟加载,从而提升系统的性能和反应速度 构建代理模式: 1.主题接口,真实类和代理类的公共接口 2.
阅读全文
摘要:类的加载过程 (一)简述类加载过程: 类加载过程: JVM虚拟机把.class文件中类信息加载进内存 .class文件: 通过javac命令将java文件编译成字节码 ,此时生成的字节码文件称为.class文件 类加载的通俗举例: JVM在执行某段代码时,遇到了class A,此时内存中并没有cla
阅读全文
摘要:单例模式 定义: 对象创建模式,确保系统中一个类只产生一个实例 使用单例的好处: 1): 对频繁使用的对象,省略创建对象所花费的时间 2):new 操作次数的减少,对系统内存的使用频率也会降低,减轻GC压力,缩短GC停顿时间。 创建单例模式 第一种方式):类一加载就创建 public class S
阅读全文
摘要:性能的基本概念 一)、什么叫程序的性能? 程序运行所需的内存和时间。 二)、性能的表现形式: 1).执行速度: 程序的反应是否迅速,响应时间是否足够短。 2).启动时间:程序从运行到可以处理正常业务所需要的时间。 3).内存分配: 内存分配是否合理,是否过多的消耗内存或者存在泄露 4).负载承受能力
阅读全文
摘要:参考:https://blog.csdn.net/jmj18756235518/article/details/81490966 函数式接口 定义:有且只有一个抽象方法的接口 Function: y = f(x) T: x 输入参数, R: 返回结果,y 所有标注了@FunctionalInterf
阅读全文
摘要:获取流对象 获取单列集合,双列集合,数组的流对象 单列集合获取流对象: 1、java.util.Collection接口中加入了default方法stream()获取流对象,因此其所有实现类均可通过此方式获取流。 public class StreamTest01 { List list = new
阅读全文