2020年2月14日
摘要: 1、加依赖 2、写注解 3、写配置 依赖spring官方提供的依赖 spring-boot-starter-xxx, 非官方依赖 xxx-spring-boot-starter 一般都是 spring-cloud-starter-{spring cloud子项目名称}-{模块名称}如 spring- 阅读全文
posted @ 2020-02-14 08:05 清浊 阅读(435) 评论(0) 推荐(0) 编辑
  2019年12月11日
摘要: 1、两数之和func twoSum(nums []int, target int) []int { var res = make([]int,2) for i:=0;i<len(nums);i++{ other:= target-nums[i] for j:=i+1;j<len(nums);j++{ 阅读全文
posted @ 2019-12-11 10:04 清浊 阅读(221) 评论(0) 推荐(0) 编辑
  2019年12月4日
摘要: 线程有以下三种实现方式 1、使用内核线程方式实现,优点内核完成线程切换和操纵调度器进行调度,并且负责将线程任务映射到处理器上。程序一般不使用内核线程会使用一种轻量级进程,轻量级进程与内核线程一对一模型如下图。 由于内核线程支持,一个轻量级进程在系统调用中阻塞了,不会影响进程继续工作。但是轻量级进程基 阅读全文
posted @ 2019-12-04 16:57 清浊 阅读(360) 评论(0) 推荐(0) 编辑
摘要: volatitle变量对所有线程立即可见,对volatitle变量的操作立刻能反应到其他的线程里面。volatitle变量在线程工作内存里面也存在不一致性,但由于每次使用前要刷新,执行引擎看不到不一致的情况,但是java里面的运算并非原子操作,volatitle变量的运算在并发下一样是不安全的。如下 阅读全文
posted @ 2019-12-04 10:52 清浊 阅读(694) 评论(0) 推荐(0) 编辑
  2019年12月3日
摘要: 下图是并发产生不一致性问题的基本原因: 还有指令重排优化, 1、java内存模型 java虚拟机试图定义一组java内存模型规范,来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让java程序在各种平台下都能到达一致的内存访问结果。java内存模型的主要目标是定义程序的各个变量的访问规则,即在虚拟机 阅读全文
posted @ 2019-12-03 20:01 清浊 阅读(219) 评论(0) 推荐(0) 编辑
摘要: java和c++效率的对比,本质就是即时编译器和静态编译器的对比。 即时编译器有以下缺点 第一、占用的是用户程序运行时间,提供的优化手段受制于编译成本。如果编译速度达不到要求,用户会感觉到重大延迟导致即时编译器不敢引入大规模优化技术。 第二、java是动态类型安全语言,这就意味着需要由虚拟机来确保不 阅读全文
posted @ 2019-12-03 09:23 清浊 阅读(525) 评论(0) 推荐(0) 编辑
  2019年12月2日
摘要: 看如下代码 package org.xiaofeiyang.classloader;/** * @author: yangchun * @description: * @date: Created in 2019-12-02 17:03 */public class B { static class 阅读全文
posted @ 2019-12-02 20:57 清浊 阅读(1276) 评论(0) 推荐(0) 编辑
摘要: 当虚拟机发现某个代码块频繁访问,就认为是热点代码,为了提高热点代码的执行效率,在运行时虚拟机将会把这些代码编译成与本地机器代码相关的机器码,并进行各种层次的优化,完成这个任务的就是即时编译器。 1、HotSpot虚拟机内的即时编译器 1)为何HotSpot虚拟机要使用解释器与编译器并存的架构 2)为 阅读全文
posted @ 2019-12-02 16:49 清浊 阅读(330) 评论(0) 推荐(0) 编辑
  2019年12月1日
摘要: 实战目标实现一个java命名格式规范检查的插件 类或接口,符合驼峰命名法,首字母大写 方法,符合驼峰命名法,首字母小写 字段: 类或实例变量:符合驼峰命名法,首字母小写 常量:要求全部大写字母或下划线构成,并且第一个字符不能是下划线 给javac编译器添加一个额外的功能,在编译程序时检查程序是否符合 阅读全文
posted @ 2019-12-01 22:09 清浊 阅读(529) 评论(0) 推荐(0) 编辑
摘要: java语言中的泛型不一样,在编译后的字节码文件中,就已经替换为原来的原生类型,并且在相应的地方插入了强制转型的代码,因此对于运行期的java语言来说,ArrayList<int>,ArrayList<string>就是同一个类, 所以泛型技术实际上是java语言的一颗语法糖。 package or 阅读全文
posted @ 2019-12-01 20:58 清浊 阅读(186) 评论(0) 推荐(0) 编辑