随笔分类 - java
摘要:Java 15将发布Project Loom的第一个版本。我相信这将改变JVM。在这篇文章中,我想深入探讨一下导致我相信这一点的原因。 首先,我们需要了解核心问题。然后,我将尝试描述以前的技术如何解决它。之后,我们将看到Project Loom采取的方法。最后,我将推断后者可能对生态系统产生什么影响
阅读全文
摘要:调试是应用程序开发周期不可或缺的一部分。用Java或任何其他语言编写程序时,每个开发人员应解决的首要问题之一是可靠的调试工具的可用性。 所使用的工具类型可能影响或破坏应用程序的调试过程,因此至关重要的是,要了解根据用例而定最佳选择。 在这篇文章中,我们概述了2020年最好的7种Java调试工具。在开
阅读全文
摘要:背景 如果您正在或在任何Java项目上工作,则可能已记录了一些debug,error或info语句以进行调试或跟踪。通过将库记录到磁盘或其他某种介质上的文件中来写这些语句。 日志记录是任何项目的关键方面,因此已经编写了各种框架。一些Java日志记录框架包括Log4j,logback,Apache通用
阅读全文
摘要:整体概述 运行时环境 Spring Security 3.0需要Java 5.0 Runtime Environment或更高版本。 核心组件 SecurityContextHolder,SecurityContext和Authentication Objects 最基本的对象是SecurityCo
阅读全文
摘要:什么是零拷贝 传统 零拷贝 背景 几种拷贝方式 方式1:Copying in Two Sample System Calls read(file, tmp_buf, len); write(socket, tmp_buf, len); 1. 首先,调用read时,文件A copy到了kernel模式
阅读全文
摘要:背景 从最早bio的只支持阻塞的bio(同步阻塞) 到默认阻塞支持非阻塞nio(同步非阻塞+同步阻塞)(此时加入mmap类) 再到aio(异步非阻塞) 虽然这些api改变了调用模式,但真正执行效率上是否也会有所不同,对此进行了此次java io的性能测试 首先从github上找到了2个项目,然后自己
阅读全文
摘要:背景 Linux系统中的IO操作内部相当复杂,下面是一张带图片的LinuxIO相关层级关系: 下面是一个简化版本Linux内部IO层级图: 对此我的理解,java程序员版本的IO理解: java中的IO 从最早bio的只支持阻塞的bio(同步阻塞) 到默认阻塞支持非阻塞nio(同步非阻塞+同步阻塞)
阅读全文
摘要:系列文章: 单线程性能测试:https://www.cnblogs.com/victor2302/p/11077208.html 多线程性能测试:https://www.cnblogs.com/victor2302/p/11080965.html github代码:https://github.co
阅读全文
摘要:旧代码 虽然这段代码可以进行正常转换,但是BigInteger不是正数范围,在密码学计算中,都要求是正数 指定byte数组为正数BigInteger 正数BigInteger,会有符号位,去除第一个符号位0,还原得到原始数组
阅读全文
摘要:添加pom文件 添加intercetpor 日志界别 参考 https://github.com/square/okhttp/tree/master/okhttp logging interceptor
阅读全文
摘要:程序计数器 程序计数器是线程私有的区域,很好理解嘛~,每个线程当然得有个计数器记录当前执行到那个指令。占用的内存空间小,可以把它看成是当前线程所执行的字节码的行号指示器。如果线程在执行Java方法,这个计数器记录的是正在执行的虚拟机字节码指令地址;如果执行的是Native方法,这个计数器的值为空(U
阅读全文
摘要:并行垃圾收集器 串行垃圾收集器 并发标记清除(CMS)垃圾收集器 Garbage First(G1)垃圾收集器 没有深入的学习G1的原理,只是看了大概的思想; SA工具:待学习
阅读全文
摘要:【强制】二方库版本号命名方式:主版本号.次版本号.修订号 1) 主版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。 2) 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。 3) 修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。 说明:起始版本号
阅读全文
摘要:http://qindongliang.iteye.com/blog/2018539 1 同步 指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪 自己上街买衣服,自己亲自干这件事,别的事干不了。 2 异步 异步是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候
阅读全文
摘要:第二章:大型网站以及架构演进过程 第三章:构建Java中间件
阅读全文
摘要:工作中使用的场景: 工作中使用dubbo微服务,其中注册中心是由zk提供的,于是课余时光就读了此本zk经典之作 节点名为java接口的类名 节点下包括了服务提供者,消费者等子节点 提供者: 消费者: 由于是最底层微服务,所以消费的注册的比较多 zk的特点: 分布式一致性的解决方案,包括:顺序一致性,
阅读全文
摘要:订单分页查询: 老的代码是顺序执行查询数据和计算总记录数,但是如果条件复杂的话(比如关联子表)查询的时间要超过20s种 优化方法: 1.通过新启动一个线程来同时做之前需要顺序执行的两个Sql查询,最后等待全部计算完成,统一进行返回 2.对于一些特别复杂的条件的查询,如果内容的条数少于PageSize
阅读全文
摘要:from when and where: CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它们都存在于java.util.concurrent包下。
阅读全文
摘要:第一部分 基础知识 第3章 Lambda表达式 使用函数式接口 Predicate Consumer Function 第二部分 函数式数据处理 第4章 引入流 第5章 使用流 第6章 用流收集数据 第7章 并行数据处理与性能 第二部分 函数是数据处理 第三部分 高效Java8编程 第四部分 超越J
阅读全文