J2SE
文章平均质量分 64
DayDayUp丶
Good Good Study, Day Day Up!
展开
-
HttpClient无效的接口url仍可访问的问题
运行发现可以正常调通,简单调试发现其内部会摘取出主机名和端口号,端口号之后的非数字字符将被跳过。HttpClient尝试调用一个无效的接口url(故意污染了端口号),如。,是否仍然可以调通。原创 2023-02-20 21:49:11 · 226 阅读 · 0 评论 -
jps显示java进程不全
习惯性地便捷的命令,快速获取java进程信息,可能会出现显示不全的现象。1、jps显示不全,只有一个的进程,可以看到只有一个java进程,实际上是有更多进程。2、可以看到所有用户下的所有进程,包含了3、可能容易被忽略,只是获取当前用户下的所有java进程,root权限的用户可以获取到所有用户下的所有java进程,所以再用试试,可以获取到所有用户下的所有java进程,同理可以切换到root用户,再查看,4、启动后也可以获取java进程列表,试下在不同用户下启动,先在当前用户下启动,只能获取到当前用户原创 2022-07-02 09:22:03 · 1859 阅读 · 4 评论 -
手写JDK动态代理
目录一、准备工作二、静态代理的简单实现三、JDK动态代理的简单实现3.1、自动生成动态代理类的java源文件3.2、自动编译生成的源文件得到class字节码文件3.3、加载字节码文件到JVM以生成代理对象3.4、JDK动态代理工具类实现代码3.5、测试一下环境:OpenJDK(Zulu 8.58.0.13-CA-macos-aarch64)需求:我们常用AOP做各种切面业务,AOP的实现依赖于JDK动态代理和cglib,关于JDK动态代理的实现原理,我们可以自己做个简单实现来理解。一、准备工作首先提原创 2022-01-02 09:00:00 · 999 阅读 · 0 评论 -
java -D参数设置系统属性无效
我们都知道如何在Java中获取系统属性:String proxyHost = System.getProperty(ESClientConstance.HTTP_PROXY_HOST);这样可以获取操作系统默认的一些属性值。如果我们需要自定义一些系统属性,那么这样定义:-Dhttp_proxy_host=192.19.19.19但是要注意下面这种情况,会导致java -D失效,导致System.getProperty获取不到属性值。比如我的这样一个以java -jar方式启动的脚本:noh原创 2020-06-23 19:07:13 · 2301 阅读 · 0 评论 -
Java线程池注意事项之异常处理
问题现象在使用线程池的过程中,线程池中的工作线程发生异常,没有看到抛出,在控制台和日志里也没有打印错误日志,看不到任何蛛丝马迹,就仿佛没有发生异常一样。但是实际上确确实实发生了异常。那么究竟是什么原因导致异常被吞掉?问题验证单个线程的验证在验证线程池之前,我们先验证一下单个线程内部发生异常的情况,看它是否会抛出异常。线程可以由 Runnable 和 Callable 来构造,所以我们先各自创建一个线程类。如下:public static class SinkRunnable i原创 2020-05-20 20:00:39 · 1058 阅读 · 0 评论 -
ThreadPoolTaskScheduler注意事项之线程池大小poolSize以及通过JMX修改
在 Spring 中动态管理定时任务,通过简单的一句自动注入 ThreadPoolTaskScheduler 对象的代码,即可轻松实现,参见 Spring动态管理定时任务——ThreadPoolTaskScheduler 。一、问题抛出但如果没有查看 ThreadPoolTaskScheduler 的源码,则要特别注意 ThreadPoolTaskScheduler 中,初始化 poolS...原创 2020-04-24 19:46:38 · 8603 阅读 · 0 评论 -
Java数字包装类型双等号判等和装箱拆箱
一、双等号判等题目直接试着给出心里的答案,然后再运行以下4组程序,看看是否有答得不对的地方。System.out.println(Integer.valueOf("10") == Integer.valueOf("10"));System.out.println(Integer.valueOf("1000") == Integer.valueOf("1000"));System.o...原创 2020-04-28 19:26:45 · 468 阅读 · 0 评论 -
Ant路径匹配规则AntPathMatcher的注意事项
0.AntPathMatcher前言:(1)SpringMVC的路径匹配规则是依照Ant的来的,实际上不只是SpringMVC,整个Spring框架的路径解析都是按照Ant的风格来的;(2)AntPathMatcher不仅可以匹配Spring的@RequestMapping路径,也可以用来匹配各种字符串,包括文件路径等。1.基本规则:(1)? 匹配一个字符(除过操作系统默认的文件...原创 2018-06-14 00:14:11 · 32456 阅读 · 0 评论 -
Java字符串split方法的坑
先来看几行简单的Java代码,如下:System.out.println("1,2".split(",").length);System.out.println("1,2,".split(",").length);System.out.println("".split(",").length);System.out.println(",".split(&qu原创 2019-01-23 23:07:38 · 1314 阅读 · 0 评论 -
Java类实现一个类的障眼法(JadClipse的bug)
众所周知,Java的类只能去实现(implements)一个或多个接口,而不能去实现(implements)一个类。然而,有的朋友可能会注意到这样的现象,在eclipse里,查看JDBC的com.mysql.cj.Driver.class和它的父类com.mysql.cj.NonRegisteringDriver.class源码,鼠标放到NonRegisteringDriver所实现的接口名D...原创 2019-01-11 23:44:32 · 1206 阅读 · 0 评论 -
Java生成堆内存dump
在处理压力测试问题的时候,经常遇到OOM的情况,这时候我们需要去记录内存实时的情况,一般会打出一个dump文件,而后再使用MAT等内存分析工具去查看哪些对象一直占用了大量内存,最终分析出代码需要优化的地方。那么java如何打出dump文件呢?java提供了jmap命令,如下:jmap -dump:format=b,file=/path/heap.bin 进程ID jmap -du...原创 2018-11-28 00:10:37 · 18738 阅读 · 2 评论 -
Java国际化处理
最近在做Kettle8.1的国际化工作,闲暇之余,就看了看Java的国际化处理,明白程序怎么样找到对应的国际化文件。说到国际化,经常看到一个东西叫i18n,其实是internationalization的缩写(ps:以后起昵称什么的就可以仿照这个规则信手拈来,又专业又好记)。Java中相关的有以下3个类:ResourceBundle:国际化资源包。 Locale:表示了特定的地理、政...原创 2018-11-22 23:14:38 · 2844 阅读 · 0 评论 -
面试题之异常处理
案例一:public static void main(String[] args) { try { int a = 1; try { int b = 1 / 0; } catch (Exception e) { System.out.println("inner exception.."); return; } finally { Sy...原创 2018-11-11 22:31:53 · 1008 阅读 · 0 评论 -
Java序列化Serializable的那些事儿
说到Java的序列化,有个问题就是为什么需要序列化,更优先的一个问题是什么是序列化。序列化的含义《Java编程思想》中这么解释,Java的对象序列化是将那些实现了Serializable接口的对象转换成一个字节序列,并能够在以后将这个字节序列完全恢复为原来的对象。换句话说就是,主要将对象的可变信息以字节序列,保存在硬盘文件、数据库或者通过网络传输到另一个JVM中等等,等到需要在内存中恢...原创 2018-10-09 00:47:08 · 942 阅读 · 1 评论