Java
qqchaozai
这个作者很懒,什么都没留下…
展开
-
【Java Web 安全】DependencyCheck扫描POM依赖jar漏洞
前言DependencyCheck GitHub地址:https://github.com/jeremylong/DependencyCheck可以参考git上面教程执行,以下通过Windows环境进行演示1 下载扫描程序下载地址:https://bintray.com/jeremy-long/owasp/dependency-check解压:2 执行扫描.\bin\dependency-check.bat --out . --scan you-scan-path.原创 2020-08-06 16:16:19 · 2665 阅读 · 0 评论 -
java实现文件实时监控:Jnotify和FileAlteration
java实现文件实时监控:Jnotify和FileAlterationMonitor原创 2014-11-19 14:54:45 · 18819 阅读 · 0 评论 -
Rsync:Windows和Linux下本地同步及远程同步
一、什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。 rsync 包括如下的一些特性原创 2014-11-18 13:52:01 · 14991 阅读 · 0 评论 -
【Java】线程方法调用栈分析
打印指定线程调用栈: /** * 自定义打印调用栈: * @param currentThread 根据当前线程 */ public static void printCallStatck(Thread currentThread) { StackTraceElement[] stackElements = currentThread.getSta...原创 2020-03-03 16:03:29 · 916 阅读 · 0 评论 -
【Java】Unsafe源码走读及实战应用
前言Unsafe顾名思义,它不安全,要小心使用 Unsafe可以控制对象的内存申请和释放,可以对内存访问进行控制 Unsafe本身仅是为JDK服务的,不推荐应用程序直接使用,且JDK可能随时会改动它以下演示的JDK版本:1.81 使用部分源码:Unsafe://私有变量private static final Unsafe theUnsafe;//私有构造函数pr...原创 2019-11-14 21:02:40 · 384 阅读 · 0 评论 -
【Java-知识点】总结一(方法值传递)
方法传入实参,是否会修改实参具体值? 网络认知:如果是基本数据类型是传值调用不会影响实参本身,其他对象即引用类型是传引用调用,直接影响引用所指向的内存。个人认知:永远不会影响实参的值,因为基本数据类型的值就是本身所代表的值,引用类型的值是指向对象的内存地址,如果你不修改引用指向,那么你可以改变引用所指向的对象内部的数据。当你修改了引用指向后,那么无论你如何操作都不会影响实参当前指向对象...原创 2019-10-30 19:39:47 · 170 阅读 · 0 评论 -
【Java】文件资源加载
样例/** * 测试通过三种方式加载文件 * * @author chaozai * @date 2019年9月23日 * */public class ResourceLoaderTest { private static final String TEST_FILE_PATH_FOR_CLASS_1 = "test.txt"; private s...原创 2019-09-23 18:08:24 · 259 阅读 · 0 评论 -
【Java&CMD】java执行CMD命令
一、java本身API执行CMDProcess ps = Runtime.getRuntime().exec(cmd);ps.waitFor();//等待线程结束waitFor是为了保证cmd命令在后续任务执行前就完成。但是如果cmd命令存在不少的输出信息或者错误信息,在执行waitFor时,会发生阻塞。为什么会堵塞呢?原因是当调用exec(cmd)后,JVM会启动一个...原创 2014-11-21 15:30:56 · 10687 阅读 · 0 评论 -
【Java】SSL证书那些事:各种证书概念,各类证书转换,keytool使用
1 证书概念SSLSecure Sockets Layer,一种加密协议规范,如https就使用它进行加解密OpenSSL一种ssl规范的实现,可以帮助我们生成解析各类证书X.509证书标准,比如证书应该包含哪些信息PEMPrivacy Enhanced Mail,一种编码格式,常用于Apache和UNIX服务器,查看证书信息:openssl x509 -in cert...原创 2019-06-18 15:54:14 · 574 阅读 · 0 评论 -
【Java】泛型
1 Why?为何需要泛型一个对象中包含一个可以为多种对象类型的参数,但实际使用时,有时又希望它是一个明确的对象,比如常用的集合List。有时希望它里面只存储String或者只存储int。那么如何指定呢?泛型之前没有办法。那默认编译器将其中类型统一识别为Object,如果你要提取响应对象类型,那么就需要执行强制转换:List list = new ArrayList();list .ad...原创 2019-04-28 17:00:38 · 144 阅读 · 0 评论 -
【Java】带着问题分析DriverManager源码
前言工作中遇到一个异常,程序使用了两种数据库,H2和SQLite,在某些环境下会偶然出现DriverManager使用SQLite的库加载H2的数据库,然后抛出异常:15:48:46 | java.sql.SQLException: invalid database address: jdbc:h2:../../etc/server15:48:46 | at org.sqlite.J...原创 2019-04-17 20:55:37 · 1856 阅读 · 0 评论 -
【Java】SPI介绍及实例分析
前言偶然间发现一个问题,工程中同时有H2*.jar,sqlite*.jar,但代码中只使用到了h2数据库,可是发现org.sqlite.JDBC类被加载了,并且org.sqlite.JDBC的静态代码块执行了!这是怎么做到的呢?还好之前了解过spi,发现这是通过SPI机制实现的。1 SPI是什么? 和API有啥区别呢?API(Application Programming Interf...原创 2019-04-17 17:53:19 · 954 阅读 · 1 评论 -
【Java】强引用、弱引用、软引用、虚引用
1 引用的作用引用是用来指向一块内存区域,程序通过引用来获取对象信息,它关系着对象的生命周期。2 为何需要多种引用类型?默认为强引用,只要对象被任意强引用所指向,则对象不会被垃圾收集器清理。那有啥问题呢?有时有些对象的原始引用被指向为NULL,我们希望JVM可以清理掉这个无用对象,但此刻该对象可能被其他强引用所包含,那总不能一个个将所有引用指向为NULL。此刻就需要其他引用的支...原创 2019-03-28 14:53:51 · 249 阅读 · 0 评论 -
【Java&Linux】SVGConverter导出图片乱码、Linux配置中文字符集
SVGConverter导出图片乱码问题描述:svg文件正常显示中文,转换图片文件出现乱码,且仅在部分环境下异常问题解决:查看操作系统,发现缺少中文字符集,查看/etc/sysconfig/i18n 配置发现仅支持英文。Linux配置中文字符集1、安装中文包:#yum -y groupinstall chinese-support2、修改字符编码配置文件# vi /etc/sys...原创 2019-03-26 15:19:46 · 775 阅读 · 0 评论 -
【JAVA】线程池
前言首先附上阿里的开发规范:强制使用线程池,能够减少在创建和销毁线程上所花的时间以及系统资源的开销,解决资源不足问题(并发核心思想) 强制使用ThreadPoolExecutor创建线程池,明确线程池运行规则,规避资源耗尽JDK中快捷创建线程池的四种方式,存在隐藏危害,建议仅用于测试程序:可能创建大量线程,导致OOMnewCachedThreadPool:一个可缓存线程池,如果...原创 2019-02-20 17:42:37 · 97 阅读 · 0 评论 -
【Java】Java异常详解
1 异常划分异常超类Throwable,他包含两大子类:Error和Exception。Error(错误):一般代表JVM本身的错误,错误不能被程序代码所处理,比如OutOfMemoryError。Exception(异常):程序本身可以捕获并且可以处理的异常。异常也分为两类:运行时异常和编译异常。运行时异常:RuntimeException及其子类,属于未检查异常(unche...原创 2019-02-18 15:59:36 · 179 阅读 · 0 评论