Java
文章平均质量分 73
iioSnail
这个作者很懒,什么都没留下…
展开
-
【读书笔记】深入理解Java虚拟机(周志明)(5)第五部分 高效并发
无重点本章是将如何保证线程并发的安全与高效。原创 2023-12-25 09:15:50 · 1032 阅读 · 0 评论 -
【读书笔记】深入理解Java虚拟机(周志明)(3)第三部分 虚拟机执行子系统(4)第四部分 程序编译与代码优化
无重点虚拟机把class文件记载到内存,并进行校验、解析、初始化等,最终形成可以被虚拟机直接使用的java类,这就是虚拟机的类加载机制。class文件不一定非要是文件,从网络或其他地方加载的二进制流也可以。无重点虽然类加载大部分过程用户无法通过Java控制(都是由JVM自行完成的),但字节码生成和类加载器用户可以操作,利用这两点就可以玩出很多花样。编译期优化就是在编译期做的优化操作,例如很多Java新特性都是靠编译期优化实现的,其底层的JVM并没有做任何改变。JVM运行代码通常都是依赖解释器。原创 2023-12-25 09:15:31 · 1083 阅读 · 0 评论 -
【读书笔记】深入理解Java虚拟机(周志明)(1)第一部分 走进Java(2)第二部分 自动内存管理机制
无重点学习Java虚拟机的重要原因:当出现内存泄漏时,知道怎么排查。学习垃圾收集(Garbage Collection, GC)的原因:可以帮助我们避免和解决OOM问题、由JVM引起的性能瓶颈等:调整Eden区和Survivor区的比值。默认为8:1:1。例如:我们经常要产生临时大对象时,可以将:直接晋级到老年代对象的大小。:设置CMS收集器GC时给用户留多少%的空间无重点无重点。原创 2023-12-25 09:15:13 · 1180 阅读 · 0 评论 -
Java中的强引用、软引用、弱引用、虚引用与引用队列 通俗举例实战详解
本次实验Java版本:JDK 1.8.0_152_release。原创 2023-12-14 16:45:35 · 1812 阅读 · 0 评论 -
详解Git合并(Merge)错误如何回退。(包括Reset, Revert和页面回滚三种,并说明其优缺点)
详解Git合并(Merge)错误如何回退。(包括Reset, Revert和页面回滚三种,并说明其优缺点)原创 2022-11-07 15:33:18 · 48792 阅读 · 0 评论 -
动态新增、修改Logback的Appender(可实现动态调整日志级别,Appender参数)
Logback相关知识LoggerContextLogger的树形结构Appender动态修改日志级别动态修改Appender参数动态新增AppenderSpringBoot中使用动态新增Appender常见问题java.lang.IllegalStateException: FileNamePattern [server.%d{yyyy-MM-dd}.%i.log] does not contain a valid DateTokenFileAppender成功生成文件,但文件中没有内原创 2022-07-21 10:53:43 · 5275 阅读 · 0 评论 -
Spring解决循环依赖(不讲原理)The dependencies of some of the beans in the application context form a cycle
循环依赖场景有三个类:@Servicepublic class AService { @Autowired private BService bService;}@Servicepublic class BService { @Autowired private CService cService;}@Servicepublic class CService { @Autowired private AService aService;原创 2022-01-21 14:20:24 · 1848 阅读 · 0 评论 -
Java 运行时动态生成类(动态编译)
文章目录案例说明动态生成类工具类动态生成类示例生产环境运行报错案例说明我们有一个Person类:package test;import lombok.Data;@Datapublic abstract class Person { private String name; public abstract void sayHello();}Person类有一个抽象方法 sayHello,但是具体有哪些Person并不知道,需要配置在数据库中,然后动态进行生成Perso原创 2021-11-17 17:52:10 · 2272 阅读 · 3 评论 -
Java 运行时动态生成类(动态编译)与 生产环境报错处理(Deprecated)
案例说明我们有一个Person类:package test;import lombok.Data;@Datapublic abstract class Person { private String name; public abstract void sayHello();}Person类有一个抽象方法 sayHello,但是具体有哪些Person并不知道,需要配置在数据库中,然后动态进行生成Person的子类。动态生成类工具类<dependency>原创 2021-11-03 18:05:29 · 1565 阅读 · 2 评论 -
git项目分支管理规范
分支说明master:生产环境的稳定分支,生产环境基于该分支构建。仅用来发布新版本。由管理员管理,开发无法查看也无法修改该分支。只能由uat分支向该分支合并。uat(User Acceptance Testing,也可以是pre-release):预发布分支。uat环境(或灰度环境)使用该分支代码,该分支算是生产版本的预版本。正式上线时,需将该版本代码合并到master分支。开发从该分支拉代码进行开发,测试完成的代码,并确定下版本上线后,合并到该分支,并进行回归测试。若没有uat环境,合并之后可原创 2021-10-22 13:43:29 · 1338 阅读 · 0 评论 -
Java 读取amr音频文件时长
文章目录网上代码时长不准上述代码调整网上代码时长不准从网上搜这个标题,基本上搜出来的就是这段代码(如果你们用这段代码没问题就不用往后看了):public static int getAmrDuration(File file) throws IOException { long duration = -1; int[] packedSize = { 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0原创 2021-10-20 16:51:48 · 649 阅读 · 0 评论 -
Spring Boot Admin (Spring Clould Admin) 官方文档重点内容中文翻译
1. Spring Boot Admin简介2. 快速入门2.1 配置Spring Boot Admin Server (SBA Server)2.2 注册Client应用2.1 Spring Boot Admin Client2.2.2 Spring Cloud Discovery(注册发现)3. Client客户端应用3.5 Spring Boot Admin Client 配置文件4. Spring Boot Admin Server4.1 反向代理配置4.2 其他配置选项4.3原创 2021-06-25 18:13:02 · 3515 阅读 · 1 评论 -
JNI Demo In Linux
OverviewJNI (Java Native Interface) is used to call C/C++ libraries by Java code.The C/C++ library is known as SO library in Linux and is known as DLL in windows.Environment RequirmentLinuxGCCG++Java 1.8+If you have not prepared for the environme原创 2021-05-09 16:27:10 · 248 阅读 · 0 评论 -
Java中的wait,notify和notifyAll
资源锁在Java中,如果一个资源被上了锁,则其他线程必须要等待该资源被释放后才能使用。如下:String student = "test";Runnable runnable = () -> { synchronized (student) { System.out.println(Thread.currentThread().getName() + "start"); try { Thread.sleep(1000);原创 2021-03-03 17:23:00 · 363 阅读 · 1 评论 -
任意长度十进制转任意进制-java实现
主要是利用了BigDecimal的大数值的计算import java.math.BigDecimal;public class Test { public static void main(String[] args) { System.out.println( systemCovert("6161561615615616548948...原创 2020-04-02 17:56:28 · 409 阅读 · 0 评论