java
小毛桃学习猿
这个作者很懒,什么都没留下…
展开
-
FeignClient RPC使用
FeignClient RPC使用一、创建FeignClient// 创建Feign客户端@FeignClient(contextId = "myClient", name = "mt-prject-name:student",url = "http://localhost:8080/")public interface ReportApiClient { // 对应服务的接口(controller层的接口一致) @GetMapping("/v2/student") StudyRepo原创 2021-09-08 18:16:56 · 982 阅读 · 0 评论 -
springboot使用hibernate validator校验
:原文地址转载 2021-08-15 10:04:30 · 122 阅读 · 0 评论 -
虚拟机空间分配担保(深入理解Java虚拟机)
虚拟机空间分配担保通过读深入理解Java虚拟机的空间分配担保策略,此处何时触发FullGC让我觉得需要记录一下。jdk 6 Update 24之后,-XX:HandlePromtionFailure 参数不会在影响虚拟机的分配担保策略,默认会开启分配担保策略。触发分配担保策略的时机:当出现大量对象在MinorGC后仍存活的情况(极端情况MinorGC后所有新生代对象都存活)需要老年代分配担保,把Survivor放不下的对象送入老年代。只要老年代的剩余连续空间大于新生代对象总大小或者历次晋升的平均大原创 2021-04-24 22:36:12 · 267 阅读 · 0 评论 -
Synchronize和ReentrantLock的比较
Synchronize和Lock的区别?用新的lock有什么好处?举例说明。1. 原始构成Synchronize是Java的关键字,属于JVM层面的锁。底层采用(monitorenter和 monitorexit)monitor对象完成同步,其实wait和notify等方法 也是依赖monitor对象,故只能在同步代码块或方法中才能调用wait和notify等方法 。Lock是在java.util.concurrent.locks.lock,属于Java api层面的锁。2. 使用方法synch原创 2020-12-25 12:50:39 · 275 阅读 · 0 评论 -
JVM --- 笔记
虚拟机java8API地址https://docs.oracle.com/javase/8/docs/api/jvm8 地址https://docs.oracle.com/javase/specs/jvms/se8/html/一、类加载子系统(一)类的加载过程1.加载阶段(将类以二进制流形式加载到JVM方法区中生成Class对象。)(1)通过一个类的全限定名获取定义此类的二进制字节流。(2)将字节流所代表的静态存储结构转为方法区的运行时数据结构。(3)在内存中生成代表此类的java.la原创 2020-10-23 21:37:22 · 162 阅读 · 0 评论 -
Java基础——对象数组及数组与集合转换的使用总结
对象数组及数组与集合转换的使用体会使用情景:在项目中,我从数据库查出的的数据是一个List的对象集合。我需要将他转成一个对象数组。在对其进行处理需要。错误方式:List<StoreInfo> list = new ArrayList();StoreInfo[] array = (StoreInfo[])list.toArray();这种写法,在编译时,没有任何问题。但是...原创 2019-11-28 21:57:08 · 2232 阅读 · 0 评论 -
Java虚拟机---GC
GC主要考虑的事情那些对象需要回收什么时候回收怎么回收java内存运行时区域生命周期(哪些需要回收)随线程而生,随线程而亡:程序计数器,虚拟机栈,本地方法栈这几个区域的内存分配和回收具有确定性,(在方法结束或线程结束时,内存就随着回收)所以这三个区域的内存回收不用过多考虑动态分配和回收:堆和方法区垃圾回收机制主要关注的是这部分内存回收方式java使用的是根搜索算法判...原创 2019-11-18 12:04:09 · 103 阅读 · 0 评论 -
Java中的名词术语
组织 或 包含在现有类的基础上组织,整合构成的新类上朔造型将衍生类当作基础类进行处理的过程,使其变成更“通用”的类型造型方向是从衍生类到基础类,衍生类是基础类的一个超集,它可以包含比基础类更多的方法名字由来的可能原因:在类图的继承画法上,习惯将基础类放在上面,衍生类在下面,箭头朝上—Up-casting。下朔造型使该对象变成更”特殊”的类型绑定将一个方法调用同一个方法主体连...原创 2019-11-18 12:00:05 · 212 阅读 · 0 评论 -
Java中程序执行过程
java程序执行的步骤:装载初始化创建对象,执行程序1. 装载启动程序时,载入的一部分程序;装载程序找类,通过extends载入其继承的基础类,装载顺序:本类–》其基础类–》再往上的基础类,依次类推2.初始化static 初始化顺序:根基础类–》基础类–》本类,顺序和装载顺序相反3.执行程序创建对象,其所有基本数据类型设为其默认值,对象句柄为null调用基础类的构...原创 2019-11-18 11:59:08 · 114 阅读 · 0 评论 -
Java中接口与抽象类
java的多重继承接口可以实现多继承1. 常数分组接口中的的字段都默认具有public static 和 final属性;则接口可以对常数进行分组2.接口的规则:可以继承接口,但得到的是一个新的接口若想实现该接口,实现类要实现接口中的所有方法,衍生类则是要继承抽象类的所有方法3.接口的重要原因能上朔造型到多个基础类防止客户程序员制作该类的对象抽象类和接口的选择若创建...原创 2019-11-18 11:56:00 · 108 阅读 · 0 评论 -
Java基础——Java创建对象和类加载的过程
对Java类加载和对象的创建过程来一个模型作结。原创 2019-09-26 11:48:58 · 224 阅读 · 0 评论 -
Java基础——Java中JVM内存区域
根据Java运行时数据区进行划分,自己总结的的一个模型基本数据类型中实现了常量池的:Byte,Short,Integer,Long,Character,Boolean未实现常量池的:Double,FloatString对象的intern()方法查看常量池中是否有该字符串,有则返回该字符串引用,否则,添加在常量池中添加该字符串。字符串拼接用+使用引号包含文本的方式创建的String...原创 2019-09-24 18:13:13 · 93 阅读 · 0 评论 -
final总结
final关键字作用:一般是指不可改变的的应用场景:数据、方法、类一 定义数据在编译器期常数将常数值封装,不会随不同对象的创建而不同一般只适用于基本数据类型可以节省运行时的开销,在编译的时候就执行了在运行期初始化的值修饰的是对象句柄,句柄为常量;可以是基本数据类型,也可以是类;但是必须在构造方法中对句柄进行初始化对象本身不可以更改(该句柄不可以再指向其他对象,...原创 2019-05-18 18:38:12 · 172 阅读 · 0 评论 -
java程序的简单执行过程
java程序执行的步骤:装载初始化创建对象,执行程序1. 装载启动程序时,载入的一部分程序;装载程序找类,通过extends载入其继承的基础类,装载顺序:本类–》其基础类–》再往上的基础类,依次类推2.初始化static 初始化顺序:根基础类–》基础类–》本类,顺序和装载顺序相反2.执行程序创建对象,其所有基本数据类型设为其默认值,对象句柄为null调用基础类的构...原创 2019-05-19 11:20:19 · 208 阅读 · 0 评论 -
File的简单知识点
file使用小结:File imageFolder = new File(session.getServletContext().getRealPath("img/category"));作用是获取引号中文件的绝对路径,输出结果:2.File file = new File(imageFolder,c.getId()+".jpg");使用指定路径(上面的所得到文件夹的绝对路径)...原创 2019-04-02 12:23:50 · 383 阅读 · 0 评论