
JAVA基础
文章平均质量分 94
FollowYourHeart2015
所思,所想……
展开
-
Java 日记框架
结绳记事,总结、思考,方有成长~日志框架发展史对于一个应用来说,日志是必不可少的一部分。程序一旦发布到线上,如果没有日志信息,那它就像个黑盒,而有了日志,就相当于有了一双洞察程序执行逻辑的眼睛。Java领域存在多种日志框架,现有的日志框架阵营包括:Slf4j、Logback、Commons Logging、Log4j 1、Log4j 2、Java util logging。虽然有这么多,但...原创 2020-04-22 07:27:59 · 478 阅读 · 0 评论 -
Java8部分特性及list的常见操作
结绳记事,总结、思考,方有成长本文主要记录如何使用Java8中的流式处理,简洁的处理各种常见的操作。注意:数组转集合,体现的是适配器模式,只是转换接口,后台的数据仍是数组。所以使用集合相关的操作add、remove、clear会抛异常:UNSupportOperationException。List<String> list = Arrays.asList("官僚","买办...原创 2020-04-18 10:13:55 · 756 阅读 · 0 评论 -
根据已有工程生成maven archetype脚手架
结绳记事,记录、思考,方有成长~在实际开发过程中,我们经常会遇到创建新的代码工程的情况,大多数情况下会把之前的代码工程拷贝一份,删除旧的代码,作为新代码工程,在其上进行新需求的开发。也可以使用IDEA里已有的脚手架,便捷的生成新的代码工程,减少了我们的工作量。但是这样的代码工程往往太干净了,以至于我们要加很多东西。那要想基于当前团队中约定的代码工程,生成一个新的工程,有什么便捷的方法呢?这...原创 2020-04-13 00:35:04 · 782 阅读 · 0 评论 -
msgpack序列化异常和Beanutils.copyproperties集合的坑
结绳记事,总结、思考,方有成长~分布式环境下,服务间RPC调用是很常见的方式,比如Dubbo这样的RPC框架,我们只需采用拿来主义进行业务逻辑的开发即可,序列化、反序列化、网络传输、服务注册的事情对业务开发来说是透明的,就像JVM的内存管理一样,无需开发人员在底层投入过多精力,开发效率提升了,但有时候框架本身报错了,我们还是需要关注的。比如最近在联调RPC服务的时候,consumer端接收...原创 2020-03-01 23:16:43 · 3302 阅读 · 2 评论 -
序列化与反序列化
结绳记事,记录、思考,方有成长~什么是序列化,有何用把对象转为字节序列的过程称为对象的序列化,把字节序列恢复为对象的过程称为对象的反序列化。这样讲可能会比较抽象,考虑我们的程序在实际运行中,各种对象在内存中进行“生老病死”这样的一个周期,但内存并不是它唯一的归宿,可能它需要跟其他服务进行交互,比如分布式服务Dubbo中的订单服务要跟商品服务进行数据交互,当两个进程进行远程通信时,彼此可以...原创 2020-03-01 15:46:33 · 293 阅读 · 0 评论 -
Java中equals和hashcode方法的来龙去脉
结绳记事,唯有记录、思考,方能成长~我们在开发过层中,经常用到要重写某个对象的equals方法和hashcode方法,并且在开发规约中,也会强制“只要重写了equals方法,就必须重写hashcode方法”,尤其针对map的键及set存储的对象。今天就梳理下equals和hashcode的来龙去脉。WHY 为什么要重写equals和hashcode方法Object类是java中的万类之祖...原创 2020-01-23 10:39:53 · 243 阅读 · 0 评论 -
Socket、Servlet、Tomcat的关系
一、协议在阐述标题涉及到的3个关键词之前,非常有必要介绍下相关的协议,因为协议是指导做事的原则TCP/IP协议:这其实是两个协议,因为它们之间相互依赖,所以通常一起称呼。IP协议就是对网络中的每个节点进行标识,而标识的依据就是为每个节点分配一个唯一的IP。有了唯一的标识,节点间如何进行数据交互呢?于是就约定了TCP传输协议,就是节点间首先需要三次握手建立连接,再进行数据传输,最后通过四次挥...原创 2019-01-23 15:30:36 · 3154 阅读 · 1 评论 -
ThreadLocal源码分析
文章目录一、ThreadLocal概览二、源码分析2.1)ThreadLocal的类结构2.2)ThreadLocalMap分析2.3)ThreadLocal的set方法2.4)ThreadLocal的get方法三、总结一、ThreadLocal概览ThreadLocal字面翻译是“本地线程”,但其实并非如此,它其实是一个“线程局部变量”,或许把它翻译为ThreadLocalVariable更...原创 2019-01-12 20:03:13 · 223 阅读 · 0 评论 -
synchronize关键字
java线程相关的3个关键字synchronize、ThreadLocal、volatile也许在我们平常保持数据一致性场景中用到不多,因为它们都是基于JVM的特征,而我们的应用一般都是集群部署,分布式环境下线程的一致性几乎用不到它们,但在一些底层的源码中,还会看到他们的身影,比如ConcurrentHashMap、StringBuffer中,synchronize为线程安全保驾护航,那么接下来看...原创 2019-01-07 17:12:14 · 1118 阅读 · 0 评论 -
HashMap底层实现
@[TOP] HashMap底层实现先立个flag,把HashMap底层原理梳理并写下来留个备忘,先分以下4点列个提纲,后续完善#Hash原理#Put原理#Resize原理#Get原理#并发问题...原创 2018-12-17 18:56:59 · 271 阅读 · 0 评论 -
位移
位移运算在看一些代码的时候,经常会遇到位移的运算,之前并没有深入研究,后来看到&amp;gt;&amp;gt;和&amp;gt;&amp;gt;&amp;gt;,就不明就里了,查看了相关资料后,觉得还是有必要做个备忘在看一些代码的时候,经常会遇到位移的运算,之前并没有深入研究,后来看到&amp;gt;&amp;gt;和&amp;gt;&amp;gt;&a原创 2018-12-17 16:30:35 · 308 阅读 · 0 评论 -
JAVA知识点
总结个人JAVA知识声明:个人总结,可能会比较乱,勿喷。 阿里JAVA面试知识点:http://blog.youkuaiyun.com/u014744118/article/details/50766157 - 关于线程安全:synchronized、ThreadLocal 1.线程讲解:http://www.cnblogs.com/DreamSea/archive/2012/01/11/Ja转载 2017-02-11 08:51:00 · 497 阅读 · 0 评论