java基础
汪小哥
有多少时光可以挥洒~人生短短几十年~
展开
-
如何判断这个方法的调用来自dubbo consumer
这个是比较好玩的一个问题? 如何判断呢?1、Thread.nameThread.currentThread().getName().startsWith("DubboServerHandler")2、org.apache.dubbo.rpc.RpcContext.getContext() org.apache.dubbo.common.URL url = org.apache.dubbo.rpc.RpcContext.getContext().getUrl();if (url !=nul原创 2021-05-10 23:23:11 · 702 阅读 · 2 评论 -
Jdk默认线程池弱爆了 ?
看到好玩的、想了解的,记录一下一、ThreadExecutor 线程池1.1 ThreadExecutor 线程池执行逻辑从execute 方法的注释清晰得知,传统线程加入线程池执行过程分3步小于等于Coresize: 创建线程之行大于CoreSize 加入队列队列满且小于maxSize 有空闲线程使用空闲线程执行,没有的话,创建线程执行大于maxSize 拒绝策略执行public void execute(Runnable command) { if (comm.原创 2020-06-01 22:19:39 · 674 阅读 · 1 评论 -
Enum Tools 减少枚举中重复的方法
背景最近修改项目的时候发现一些好东西,对于枚举的通用方法的处理,发现之前写的很多重复性的劳动,总体来说对于枚举的认识不够,对于这些特性的使用还不是非常的属性,编码这个东西,总在反思、学习中成长,这种小东西也是一种成长,别看微不足道,大规模推广使用起来,对于编码的统一度非常的友好的。实践几乎在系统的枚举中都是code、msg这样的枚举,非常的多!没有直接的利用Enum中的name,主要是语...原创 2020-03-09 22:50:10 · 1341 阅读 · 0 评论 -
Enum 枚举小记
枚举小记录随便写一个Day的枚举public enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY}编译一下javac Day.java反编译查看javap -private Day Compiled from "Da...原创 2020-03-09 22:47:11 · 478 阅读 · 0 评论 -
Google Protobuf java 序列化工具的使用
Google Protobuf java 序列化工具的使用why?使用Java序列化。这是默认的方法,效率比较低。将数据序列化为XML。这种方法可能非常有吸引力,因为XML是(可能的)人类可读的,并且有很多语言的绑定库。如果您想与其他应用程序项目共享数据,这可能是一个很好的选择。然而,XML是众所周知的空间密集型,编码解码可能会对应用程序造成巨大的性能损失。另外,导航XML DOM树比在一般类中原创 2017-03-30 19:48:37 · 9342 阅读 · 0 评论 -
XStream的简单使用
XStream的简单使用参考 http://x-stream.github.io/tutorial.html xstream官方教程 http://www.cnblogs.com/LiZhiW/p/4313493.html#_label3 xstream基本的教程 简单介绍 XStream是一个简单的将javabean转换为XML形式的框架,非常的简单方便,同时对于注原创 2017-03-23 20:41:04 · 20452 阅读 · 3 评论 -
JDK动态代理
JDK动态代理class文件简介及加载Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象。class字节码文件是根据JVM虚拟机规范中规定的字节码组织规则生成的,只要遵守约定就可以了。也就是一定原创 2017-05-03 21:18:57 · 485 阅读 · 0 评论 -
Java 读取JAR文件信息-PathMatchingResourcePatternResolver 解析classpath*:
Java 读取JAR文件信息JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR-百度百科 参考资料1 参考资料2 Java遍历包中所有类方法注解原创 2018-01-23 15:51:06 · 6190 阅读 · 0 评论 -
ThreadLocal
作用ThreadLocal 是感啥的,有啥作用?怎么实现的?被问到了非常的奇怪!平时感觉使用的场景在访问的时候保存HTTPRequest,方便Service、Dao层访问变量,也就是人手一支笔的问题,访问大家去访问,有点浪费内存。怎么实现的?我是这么回到的,每个线程都有一个变量的对象,然后放置在ThreadLocal 的Map中进行缓存起来,方便当前线程去获取这个变量的值。问题来了...原创 2018-04-26 21:31:54 · 357 阅读 · 1 评论 -
你真的了解Java泛型参数?spring ResolvableType更好的处理泛型
你真的了解Java泛型参数?spring ResolvableType更好的处理泛型哈哈!你真的了解?我感觉了解了,但是真正的深入才知道自己了解甚少!spring 对于处理泛型参数使用啦ResolvableType,方便又快捷的帮助我们处理啦!很多类型的抽象,提供了统一的调用方式,更多的使用参考spring源码ResolvableTypeTest 不过我们自己对于Java的类型体系还是需要自己...原创 2018-06-26 12:02:46 · 11673 阅读 · 5 评论 -
记录Druid 监控URL数据、Spring方法没有数据排查过程
问题URL监控以及Spring 监控数据没有、SQL监控中存在数据 排查过程1、URL监控、Spring监控没有数据,排查数据源 <servlet> <servlet-name>DruidStatView</servlet-name> <serv原创 2018-08-27 23:28:57 · 10036 阅读 · 0 评论 -
lombok使用-简介
lombok使用lombok的使用简介lombok其实就是在我们进行编译事加一层处理的机制,具体百度。 * https://projectlombok.org/features/index.html * http://lrwinx.github.io/2017/03/04/%E7%BB%86%E6%80%9D%E6%9E%81%E6%81%90-%E4%BD%A0%E7%9C%9F%E原创 2017-03-21 09:41:02 · 4014 阅读 · 0 评论 -
Java异常 RuntimeException
异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception,具体的RuntimeException继承RuntimeException。Error和RuntimeException及其子类成为未检查异常(unchecked),其它异常成为已检查异常(checked)。 unche原创 2016-12-16 14:30:22 · 2117 阅读 · 0 评论 -
Java中Collections
Collection是集合类的一个顶级接口,其直接继承接口有List与Set而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。此类不能实例化。Collections中有一些工具函数,比如说sort、reverse、fill等等。看到了之后比较的好奇呗,在hashtable的时候进行同步,为了防止引用返回后别修改,原创 2016-08-09 10:24:21 · 2211 阅读 · 0 评论 -
码农小汪-非常不安逸 怎么我写的注解没有自动给我生成时间呢!javadoc 配置起来非常的简单
这个注解对于我们的项目开发和维护非常的友好,所以掌握它非常的有必要效果类似/** * * @author JetWang * @date 2016年4月26日 * */第一步: 第二步 点击Comments 下的每一项,然后edit ok附上一套javadoc模板 类文件/** * @author: (个人签名) * @date: ${date}-${time} *原创 2016-04-27 10:04:48 · 860 阅读 · 0 评论 -
java项目中经常碰到的内存溢出问题: java.lang.OutOfMemoryError: PermGen space, 堆内存和非堆内存,写的很好,理解很方便
解决方案 在 catalina.bat 里的 蓝色代码前加入: set JAVA_OPTS=%JAVA_OPTS%-server -Xms800m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256mecho Using CATALINA_BASE: "%CATALINA_BASE%" 以下为 区别说明 : 摘 自: http://www.c转载 2016-04-29 08:43:25 · 3033 阅读 · 0 评论 -
OutOfMemory
问题描述 在采购中心、劳动局、人民日报社、新闻总署等项目中都出现了内存溢出而系统崩溃的现象。以采购中心为例,在并发用户数不超过5人情况下,运行一天左右系统就会出现OutOfMemory异常,进而导致JBoss服务停止。背景知识 JVM的内存管理 从1.4.2开始,为了减少垃圾回收的消耗,jvm开始使用基于generation的回收机制。与Java对象的生命周期对应,JVM的内存分成了三个gen转载 2016-04-29 08:44:35 · 791 阅读 · 0 评论 -
JVM内存的设置(解决eclipse下out of memory问题)
一、JVM内存的设置的原理 默认的Java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。 设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时的jvm内存进行设置。 java -Xms64m -Xmx256m Test -Xms是设置内存初始化的大小 -Xmx是设置最大能够使用内存的大小(最好不要超转载 2016-04-29 08:48:11 · 819 阅读 · 0 评论 -
PriorityQueue详解
优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。 PriorityQueue是从JDK1.5开始提供的新的数据结构接口。 如果不提供Comparator的话,优先队列中元素默认按自然顺序排列,也就是数字默认是小的在队列头,字符串则按字典序排列。 如果想实现按照自己的意愿进行优先级排列的队列的话,需要实现Comparator接口。下面的方法,实现了根据某个变原创 2016-05-24 15:48:18 · 2775 阅读 · 0 评论 -
DelayQueue 队列
DelayQueue—-一种有序队列,特点就是只有在队列中的元素到期后才能取出。1.内存中哪些对象到了超时时间,需要从内存中清除出去。 2.服务器连接中有哪些连接很长时间未操作,需要关闭这些连接 3.任务中有哪些到了执行时间,该进行调度了。public class DelayQueue<E extends Delayed> extends AbstractQueue<E> implem原创 2016-05-24 16:18:26 · 572 阅读 · 0 评论 -
java 中 阻塞队列 非阻塞队列 和普通队列的区别是什么?
阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列.1.ArrayDeque, (数组双端队原创 2016-05-24 16:58:39 · 23142 阅读 · 3 评论 -
码农小汪-Map遍历的时候删除元素
今天这里有个需求,需要在遍历Map的时候删除我们的Map中的元素我自己也是写了一个Demopackage test;import java.util.HashMap;import java.util.Map;public class Test { public static void main(String[] args) { Map<Integer, Integer> map=原创 2016-04-24 21:09:42 · 635 阅读 · 0 评论 -
通过反射获取泛型<T>的class
都知道通过反射可以直接创建对象的实例,但我们需要得到对象的class。但如果对象是一个泛型,如何获得T.class呢?public class Test<T> { public T newInstance(){ T instance=null; Class<T> entityClass = (Class<T>) ((ParameterizedType) thi原创 2016-05-21 11:17:56 · 1763 阅读 · 1 评论 -
HashCode 使用产生Utils类
优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。 PriorityQueue是从JDK1.5开始提供的新的数据结构接口。 如果不提供Comparator的话,优先队列中元素默认按自然顺序排列,也就是数字默认是小的在队列头,字符串则按字典序排列。 如果想实现按照自己的意愿进行优先级排列的队列的话,需要实现Comparator接口。下面的方法,实现了根据某个变原创 2016-08-05 17:24:57 · 1288 阅读 · 0 评论 -
码农小汪-随机生成Key 类型那些Apikey一样的道理
由于我们做了个类似API的后台程序 ,需要处理这里的东西,所以呢就去找了个随机生成字符串的,还不错哦我们可以使用的地方还是比较的多的吧!比如账单信息,这些都需要唯一的key值 ,话不多说,贴代码package test;import java.util.Date;import java.util.Random;import java.util.UUID;/** * * @author J原创 2016-04-26 22:49:04 · 1874 阅读 · 0 评论