为什么我强烈推荐你用枚举来实现单例模式
摘要:单例模式简介 单例模式是 Java 中最简单,也是最基础,最常用的设计模式之一。在运行期间,保证某个类只创建一个实例,保证一个类仅有一个实例,并提供一个访问它的全局访问点。下面就来讲讲Java中的N种实现单例模式的写法。 原创声明 本文发布于简书【Happyjava】。Happy的简书地址:http
阅读全文
枚举实现单例模式
摘要:1.引言 单元素的枚举类型已经成为实现Singleton的最佳方法 -- 出自 《effective java》 2.单例模式的特点 单例模式三个主要特点:1、构造方法私有化;2、实例化的变量引用私有化;3、获取实例的方法共有。 3. 常用的单例模式 1.单例的饿汉模式 1 public class
阅读全文
单例模式——8种实现方式
摘要:饿汉式2种(静态常量饿汉式、静态代码块饿汉式)懒汉式3种(线程不安全懒汉式、线程安全懒汉式、同步代码块懒汉式)还有3种(双重检查、静态内部类、枚举方式)// 1.静态常量饿汉式public class Singleton{ private static final Singleton singlet
阅读全文
2019蚂蚁金服中高级Java工程师面试题及答案
摘要:面试基础 谈谈一致hash算法?按照hash算法来将对应的key哈希到一个具有232次方个桶的空间中,即0~(232)-1的数字空间。将这些数字头尾相连,想象成一个闭合的环形。如果集群中加入新的机器,采用它的IP或者唯一别名计算哈希值,也映射到环中。新增key值以顺时针的方向,存储到离自己最近的机器
阅读全文
面试题整理
摘要:1、说一说Servlet的生命周期? servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口init,service和destroy方法表达。 servlet被服务器实例化后,容器运行其init方法,请求到达时运
阅读全文
Java IO流中先关闭输出流还是先关闭输入流?为什么?
摘要:java中需要手动释放的资源bai常见的有以下两个:流相du关资zhi源流相关资源一般遵循:1)先开后关dao,先开的输入流,再开的输出流,通过读取输入流写入输出流中,那么应该先关输出流,再关输入流,但是一般关闭输入输出流操作都是在读写完成后的finally中执行的,所以即使先关输入流,再关输出流也
阅读全文
手写SpringBoot项目XSS攻击过滤器实现
摘要:一、先来个简介 什么是XSS? 百度百科的解释: XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。 它与SQL注入攻击类似,SQL
阅读全文
成为一名JAVA高级工程师你需要学什么【转】
摘要:宏观上: 1.技术广度方面至少要精通多门开源技术吧,研究过struts\spring等的源码。2.项目经验方面从头到尾跟过几个大项目,头是指需求阶段,包括需求调研。尾是指上线交付之后,包括维护阶段。3.架构经验方面有过分布式系统的架构和开发经验。对于跨系统的结构优化,数据存储的性能指标等有丰富经验。
阅读全文
一个java高级工程师的进阶之路【转】
摘要:宏观方面 一、 JAVA。要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级) 工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。如果可能,
阅读全文
自定义线程池测试
摘要:线程池 import java.util.concurrent.Executors; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ThreadPoolExecutor; import jav
阅读全文
java命名空间java.util.concurrent类threadpoolexecutor的类成员方法定义及介绍
摘要:1、getLargestPoolSize public int getLargestPoolSize() 返回曾经同时位于池中的最大线程数。 返回: 线程数。 2、getActiveCount public int getActiveCount() 返回主动执行任务的近似线程数。 返回: 线程数。
阅读全文
线程池参数详解
摘要:转载来自:http://blog.csdn.net/zhouhl_cn/article/details/7392607 和http://www.cnblogs.com/dolphin0520/p/3932921.html JDK1.5中引入了强大的concurrent包,其中最常用的莫过了线程池的实
阅读全文
关于线程池newFixedThreadPool使用注意事项
摘要:使用线程池的目的是希望线程控制在某个范围内,以免造成服务崩溃,所以在使用线程池的时候要多加注意。记录原因:一个webservice中转项目,需求很简单,提供webservice接口接收数据,然后入库,再通过webservice将数据原样推送给其他应用,推送数据给应用时使用的是线程池,保证一定的并发量
阅读全文
【小家Java】自定义的线程池需要关闭吗?(局部变量Executors线程池一定要手动关闭)
摘要:每篇一句 你如果不是富二代,你要努力让你的儿子成为富二代 说在前面 线程池关闭的意义不仅仅在于结束线程执行,避免内存溢出,因为大多使用的场景并非上述示例那样 朝生夕死。线程池一般是持续工作的全局场景,如数据库连接池。 我之前看到很多同事写代码,为了提高效率,采用多线程去优化。由为了提高多线程的性能,
阅读全文
线程池的单例实现
摘要:懒汉式 import java.util.concurrent.Executors; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ThreadPoolExecutor; import jav
阅读全文
java常用的几种线程池比较
摘要:1. 为什么使用线程池 诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达
阅读全文
安全问题-Cookie未设置HttpOnly&&Cookie未设置Secure标识
摘要:阿里机测的系统漏洞(懒得打字,给报告部分截图): 问题解决: 过滤器处理一下就行了 CookieFilter.java import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar;
阅读全文
《JAVA程序设计》课程试题
摘要:参考原文地址:http://www.360doc.com/document/13/0125/09/11537091_262269734.shtml
阅读全文
Java开发中的23种设计模式详解(转)
摘要:设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,
阅读全文
java Map按Key排序
摘要:进行排序 public static void main(String[] args) { Map<String, String> map = new TreeMap<String, String>(); map.put("d", "ddddd"); map.put("c", "ccccc"); L
阅读全文