
java
文章平均质量分 72
-hantao-
java程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
震惊:Netty竟然对ThreadLocal做出这种事...
threadlocal原创 2020-09-05 17:59:23 · 957 阅读 · 0 评论 -
六大设计原则
单一职责:一个类应负责一个职责,一个方法只完成一件事。 里氏替换原则:任何父类出现的地方都可以用子类替换。 依赖倒置:通过接口产生依赖,而不是通过实现类。 接口隔离:不要为了容纳多个模块的访问而将所有方法放在同一个接口中,应尽量细化接口。 迪米特法则:最少知道原则,即一个类应该对需要调用的类知道的最少,提示减少public属性和方法。 开闭原则:当需求变化时应通过扩展代码而非修改代码来实...原创 2020-02-25 22:53:48 · 184 阅读 · 0 评论 -
JAVA多线程(线程池、ThreadLocal、CountDownLatch)
1、线程池池化思想主要是为了避免不停地创建和销毁应用(线程、数据库连接)影响系统性能。创建线程池实际上还是利用ThreadPoolExecutor类实现的ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, B...原创 2019-10-09 18:45:29 · 690 阅读 · 0 评论 -
《架构探险从零开始写javaweb》总结
导读:DI (实现加载指定路径的类,实现加载指定注解的类,放在Map<Class<?>, Object>中) AOP (先将目标类的所有的切面类找出来,链式的将切面代理类作为目标类的增强返回新的bean,替换原来的bean到map中。) IOC (将类中需要注入bean的属性,反射注入进去) MVC (根据方法上的注解将请求路径、类、方法存入Map<Requ...原创 2019-10-08 18:39:09 · 249 阅读 · 0 评论 -
maven处理循环依赖
第一步:查看依赖。idea中点击analyze moduledependencies,红色为冲突,若依赖关系很简单(比如只有某个类有问题),则直接修改代码第二步:若依赖复杂(模块C依赖于模块B,模块B依赖于模块A,而模块A又依赖于模块C),则使用builder-helper-maven-plugin插件,先把相互依赖的...原创 2019-10-08 18:15:31 · 1061 阅读 · 0 评论 -
dubbo、netty
1、dubbo源码(RPC框架Dubbo与JSF) 虽然我没有看过Dubbo的源码,但是我觉得作为一个RPC框架,它至少应该有封装TCP或者HTTP这类传输报文的协议功能;消费者端能生成代理对象去访问提供者对象就应该有一个生成代理的功能;消费者在调用提供端函数时候会传入一些参数,函数结果返回的时候又是对象,那它就应该有一个对象序列化和反序列化的功能;消费者和提供者会将自己的IP地...原创 2019-09-25 10:25:06 · 742 阅读 · 0 评论 -
hashmap反转 (键值对反转)
由于HashMap中值是可以重复的,假设原Map为: {1=周杰伦, 2=周杰伦, 3=李健, 4=庾澄庆, 5=周杰伦, 6=谢霆锋}我们希望得到的Map为: {庾澄庆=4, 周杰伦=1_2_5, 谢霆锋=6, 李健=3}import org.junit.Test;import java.util.HashMap;import java.util...原创 2018-09-17 16:42:53 · 6809 阅读 · 0 评论 -
java实现将js、css、图片合并到html
技术点:1、使用htmlparser解析html文件,得到html代码里的js、css、img链接 2、将相对路径的链接转变成绝对路径,并读取资源 3、将css和js合并到html 、 4、将图片转换成base64编码,写入标签的src使用的插件1、htmlparser – 解析html 2、sun.misc.BASE64Encoder – 获取图片的base64编码packag原创 2017-08-18 16:31:25 · 3515 阅读 · 0 评论 -
Java多线程入门教程
Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new Thread();就绪状态(Runnable):当调用线程对象的start()方法(如:t.start();),线程即进入就绪状态。处于就绪状态的线程,只是说明此线程已经做好了准备,随时等待CPU调度执行,并不是说执行了t.start()此线程立即就会执行;运行状态(Running原创 2017-05-23 15:22:24 · 522 阅读 · 0 评论