随笔分类 -  JAVA

1
JAVA开发过程中积累的知识
摘要:最近在公司项目中接到个需求。就是后台跟前端浏览器要保持长连接,后台主动往前台推数据。 网上查了下,websocket stomp协议处理这个很简单。尤其是跟springboot 集成。 但是由于开始是单机玩的,很顺利。 但是后面部署到生产搞集群的话,就会出问题了。 假如集群两个节点,浏览器A与节点A 阅读全文
posted @ 2019-07-05 15:23 郝二驴 阅读(11526) 评论(3) 推荐(5)
摘要:在日常开发中在遇到一些大数据量的查询的时候,其实可以换种思路采用redis事先都缓存起来,然后通过redis里面进行结果集的运算。 原来的做法可能是 查询SQL太复杂,然后将SQL进行拆分成多个子SQL,最后将每个子SQL的结果集查询出来,在内存中进行运算,并集也好,交集也罢。 但是现在想想可以用r 阅读全文
posted @ 2019-02-19 16:37 郝二驴 阅读(1470) 评论(0) 推荐(0)
摘要:平时遇到的一些自己开始不懂,后来看了下原理,豁然开朗的问题: 1. 这是为什么呢? 开始我以为只是false就好了 这里面体现了 原生类型和包装类型的装箱和拆箱。 自动装箱的时候 实际上调用了Interger.valueOf(int) ,拆箱的时候用的是initValue(Integer) 可以发现 阅读全文
posted @ 2018-12-26 16:06 郝二驴 阅读(251) 评论(0) 推荐(0)
摘要:Ckeditor上传图片网上有很多教程。 下面是我今天下午遇到的一个坑...自己挖的坑。 在conotroller里 我开始习惯性的 response.setContentType("application/json; charset=UTF-8"); 结果就是这个坑。设置错了响应类型。 正确的应该 阅读全文
posted @ 2018-11-16 14:41 郝二驴 阅读(594) 评论(0) 推荐(0)
摘要:代码具体地址在我的github上 :https://github.com/HaoTwoDonkey/QuickOutPutWord 写得不好,欢迎提出问题 下面说几个phantomjs使用过程中遇到的问题: windows的不说了,linux下遇到些问题解决方案如下: 一.下载 1.下载地址:htt 阅读全文
posted @ 2018-10-18 15:52 郝二驴 阅读(630) 评论(0) 推荐(0)
摘要:http://www.icoolxue.com/album/show/216/ 阅读全文
posted @ 2018-02-28 23:13 郝二驴 阅读(261) 评论(0) 推荐(0)
摘要:摘要: 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。本文试图对J 阅读全文
posted @ 2018-02-05 14:48 郝二驴 阅读(604) 评论(0) 推荐(0)
摘要:注解的处理除了可以在运行时通过反射机制处理外,还可以在编译期进行处理。在编译期处理注解时,会处理到不再产生新的源文件为止,之后再对所有源文件进行编译。 Java5中提供了apt工具来进行编译期的注解处理。apt是命令行工具,与之配套的是一套描述“程序在编译时刻的静态结构”的API:Mirror AP 阅读全文
posted @ 2017-09-20 16:58 郝二驴 阅读(1711) 评论(0) 推荐(0)
摘要:如果没有用来读取注解的工具,那注解将基本没有任何作用,它也不会比注释更有用。读取注解的工具叫作注解处理器。Java提供了两种方式来处理注解:第一种是利用运行时反射机制;另一种是使用Java提供的API来处理编译期的注解。 反射机制方式的注解处理器 仅当定义的注解的@Retention为RUNTIME 阅读全文
posted @ 2017-09-20 16:57 郝二驴 阅读(1536) 评论(0) 推荐(0)
摘要:注解(Annotation)是在JAVA5中开始引入的,它为在代码中添加信息提供了一种新的方式。注解在一定程度上把元数据与源代码文件结合在一起,正如许多成熟的框架(Spring)所做的那样。那么,注解到底可以做什么呢? 1、注解的作用。 提供用来完整地描述程序所需要的信息,如编译期校验程序信息。 生 阅读全文
posted @ 2017-09-20 16:56 郝二驴 阅读(298) 评论(0) 推荐(0)
摘要:在日常开发中,java.text.DateFormat 应该算是使用频率比较高的一个工具类,经常会使用它 将 Date 对象转换成字符串日期,或者将字符串日期转化成 Date 对象。先来看一段眼熟的代码: public abstract class DateUtils { private stati 阅读全文
posted @ 2017-09-20 16:39 郝二驴 阅读(978) 评论(0) 推荐(0)
摘要:简单说: 底层原理就是采用数组加链表: 两张图片很清晰地表明存储结构: 既然是线性数组,为什么能随机存取?这里HashMap用了一个小算法,大致是这样实现: // 存储时: int hash = key.hashCode(); // 这个hashCode方法这里不详述,只要理解每个key的hash是 阅读全文
posted @ 2017-09-06 11:51 郝二驴 阅读(242) 评论(0) 推荐(0)
摘要:在Java SE5之前,我们要使用枚举类型时,通常会使用static final 定义一组int常量来标识,代码如下 12 相信很多小伙伴,在实际开发中也是那么干的,既然这样已经能实现枚举的功能,为什么还要引入枚举呢?我们接着往下看当我们需要是同这组“int枚举”是代码如下 12345678910 阅读全文
posted @ 2017-07-25 15:52 郝二驴 阅读(237) 评论(0) 推荐(0)
摘要:1:获取cpu核心数: Runtime.getRuntime().availableProcessors(); 创建线程池: Executors.newFixedThreadPool(nThreads);//nThreads为线程数2: 阅读全文
posted @ 2017-07-25 15:51 郝二驴 阅读(4925) 评论(0) 推荐(0)
摘要:1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程最终目录如下 2、src同级创建并设置log4j.properties 3、设置日志内容 4、输出结果 (1)首先是控制台的信息 (2)再来看输出的文件 内容如下,发现已按照要求输出到对应的文档中去了。 二、Log4j基本使用 阅读全文
posted @ 2017-07-25 15:50 郝二驴 阅读(156) 评论(0) 推荐(0)
摘要:如果一个变量的值不变,而且他还要被多次用到 另建一个类,把变量定义到里面 注意 private static public class JexlConfig { private static Log log = LogFactory.getLog(JexlConfig.class); //是否含有D 阅读全文
posted @ 2017-07-25 15:49 郝二驴 阅读(126) 评论(0) 推荐(0)
摘要:恢复内容开始 set DEBUG_PORT=8787 set JAVA_DEBUG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%DEBUG_PORT%,server=y,suspend=n -Djava.compiler=none 阅读全文
posted @ 2017-07-25 15:47 郝二驴 阅读(422) 评论(0) 推荐(0)
摘要:state定义 不同的状态,不同的行为;或者说,每个状态有着相应的行为. 就像电风扇的开关,一档的上一个是关闭,关闭的上一个是五档,五档的上一个是四档,以此类推,而且五档的下一个是关闭,关闭的下一个是一档。那么在实际应用中,我们可能会这样做: 在上一档的方法中: Java代码 if(level == 阅读全文
posted @ 2017-07-25 15:40 郝二驴 阅读(1060) 评论(0) 推荐(0)
摘要:实质上,很多后台服务程序并发控制的基本原理都可以归纳为生产者/消费者模式,而这是恰恰是在本科操作系统课堂上老师反复讲解,而我们却视而不见不以为然的。在博文《一种面向作业流(工作流)的轻量级可复用的异步流水开发框架的设计与实现》中将介绍一种生产者/消费者模式的具体应用。 生产者消费者问题是研究多线程程 阅读全文
posted @ 2017-07-25 15:39 郝二驴 阅读(256) 评论(0) 推荐(0)
摘要:synchronized 关键字解析 同步锁依赖于对象,每个对象都有一个同步锁。 现有一成员变量 Test,当线程 A 调用 Test 的 synchronized 方法,线程 A 获得 Test 的同步锁,同时,线程 B 也去调用 Test 的 synchronized 方法,此时线程 B 无法获 阅读全文
posted @ 2017-07-25 15:35 郝二驴 阅读(181) 评论(0) 推荐(0)

1