- 博客(9)
- 收藏
- 关注
原创 Java 代码性能优化总结
代码优化的目标是: 1、减小代码的体积2、提高代码运行的效率 本文的内容有些来自网络,有些来自平时工作和学习,当然这不重要,重要的是这些代码优化的细节是否真真正正地有用。那本文会保持长期更新,只要有遇到值得分享的代码优化细节,就会不定时地更新此文。 代码优化细节 1、尽量指定类、方法的final修饰符 带 有final修饰符的类是不可派生的。在Java核...
2018-10-26 17:02:38 95
原创 过滤器、拦截器、AOP切面执行顺序的比较
过滤器:基于 Servlet,通过函数回调方式实现,可以过滤请求和图片文件等,每个请求一个过滤器只能过滤一次。 拦截器:基于 java 的反射机制,代理模式实现,只能拦截请求,可以访问上下文等对象,功能强大,一个请求可多次拦截。 拦截器是 Spring 中AOP的一种实现方法。另一种方法通过 Pointcut、Advice实现 下面具体测试三者执行顺序: 第一步:添...
2018-10-25 11:05:27 3208
原创 常问的Java基础面试题
1. 面向对象和面向过程的区别 面向过程 优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点: 没有面向对象易维护、易复用、易扩展面向对象 优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活...
2018-10-24 09:55:03 242 1
原创 怎么进行线程安全的日期格式化操作?
由于 DateFormat 是非线程安全的,因此在多线程并发情况下日期格式化时需要特别注意。下面记录几种格式化的方式:线程不安全的处理方式private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//线程不安全这种方式会报如下异常:线程安全的处理方式方...
2018-10-23 11:47:30 258
原创 浅析ElasticSearch原理
启动过程获取集群node列表在UnicastZenPing构造函数中,向discovery.zen.ping.unicast.hosts配置的节点列表发送请求,获取到DiscoveryNode列表。选主流程通过UnicastZenPing发送ping,从response信息中找到master,如果没有master,进入选主流程。启动任务选为master节点后,会启动计划...
2018-10-22 11:43:03 172
原创 spring 5 重要特性
最低Java支持版本为Java 8为了充分利用 Java 8 特性,它的代码库已进行了改进,而且该框架要求将 Java 8 作为最低的 JDK 版本。Spring 5 在类路径(和模块路径)上完全兼容 Java 9,而且它通过了 JDK 9 测试套件的测试。在 Java 9 发布后,Spring 能立即使用它。HTTP/2 支持Spring Framework 5.0 将提供专门的...
2018-10-18 17:13:03 188
原创 深入理解Java ClassLoader及在 JavaAgent 中的应用
背景众所周知, Java 或者其他运行在 JVM(java 虚拟机)上面的程序都需要最终便以为字节码,然后被 JVM加载运行,那么这个加载到虚拟机的过程就是 classloader 类加载器所干的事情.直白一点,就是 通过一个类的全限定类名称来获取描述此类的二进制字节流 的过程.双亲委派模型说到 Java 的类加载器,必不可少的就是它的双亲委派模型,从 Java 虚拟机的角度来看,只...
2018-10-17 10:21:10 2820
转载 httpClient closeableHttpClient
HttpClient一 简介1.尽管java.net包提供了基本通过HTTP访问资源的功能,但它没有提供全面的灵活性和其它很多应用程序需要的功能。HttpClient就是寻求弥补这项空白的组件,通过提供一个有效的,保持更新的,功能丰富的软件包来实现客户端最新的HTTP标准和建议。为扩展而设计,同时为基本的HTTP协议提供强大的支持,HttpClient组件也许就是构建HTTP客户端应用程序,...
2018-10-15 10:16:29 542
原创 架构师必须知道的架构设计原则
不管你是新手程序员、职场老司机,还是资深架构师,这篇文章对你来说应该都有裨益。虽然仍是假期,但也建议你多花点时间读一读这些真言。 写在前面 如果一个技术已经存在 2 年,比如现在很火的前端技术 react 和 vue 等,那么我能预估这个技术大致还有 2 年的生命期,再久就不确定了;如果一个架构或设计原则已经存在 15 年,例如单一职责和依赖倒置原则,我可以预期它还有 15 年甚至...
2018-10-10 11:00:10 214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人