java
文章平均质量分 53
兔子爱喝粥
程序员
展开
-
【多级分销,如何更有效的查找上级/下级】
多级分销,如何更有效的查找上级/下级原创 2022-07-15 17:25:09 · 408 阅读 · 0 评论 -
Arthas 开源 Java 诊断工具(服务器反编译class)
arthas 使用服务器环境编译类#1、进入arthas目录cd /root/arthas-packaging-3.3.9-bin#2、执行arthas命令java -jar arthas-boot.jar#3、找到自己需要进入的java进程,输入对应前面的序号【比如 1】1#4、查询自己所找的对应的类加载器hash码【后继用于编译】,比如我要找的类为com.tansun.tcp.sys.msg.action.BaseMsgSysAction输入下方命令:sc -d com.原创 2020-09-27 16:36:33 · 2198 阅读 · 0 评论 -
javafx webview 解决cookie 丢失、https图片不显示、设置代理
private static void loadWebView() { Platform.runLater(() -> { TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() { @Override public X509Certificate[] getAcceptedIssuers() { retur.原创 2020-06-22 15:46:56 · 1433 阅读 · 0 评论 -
Spring Boot 全局异常处理(400/404/500),顺便解决过滤器中异常未捕获到的问题,让RestApi 任何时候都能获取统一的格式代码
出发点是为了在系统抛出异常的时候,前端仍然可以获取到统一的报文格式,所以后端所有的异常都得捕获,并处理Spring boot 在处理异常的时候,500/404默认都会转发到/error,而这个异常的处理类是ErrorController,所以我们重写一个ErrorController的子类即可:@RestControllerpublic class GlobalExcept...原创 2019-05-31 14:17:50 · 7431 阅读 · 0 评论 -
JVM调优总结
目录数据类型堆与栈Java对象的大小引用类型按照基本回收策略分按分区对待的方式分按系统线程分如何区分垃圾如何处理碎片如何解决同时存在的对象创建和对象回收问题为什么要分代如何分代什么情况下触发垃圾回收分代垃圾回收流程示意选择合适的垃圾收集算法小结回收器选择辅助信息常见配置汇总调优总结垃圾回收的瓶颈增量收集的演进Garbage Firest(G1)展望JVM调优工具如何调优线程监控内存泄漏检查垃圾...转载 2019-03-29 11:51:18 · 124 阅读 · 0 评论 -
Java GC原理
Java GC(garbage collec,垃圾收集,回收)GC是对JVM中的内存进行标记和回收,Sun公司的JDK用的虚拟机都是HotSpot对象化的实例是放在heap堆内存中的,这里讲的分代收集也是指对堆内存的回收GC的分代收集分为:年轻代、老年代、永久代。(方法区是被当做永久代的,不过JDK1.6后将被取消掉了)年轻代(Young Generation)、年老代(Old G...原创 2019-03-29 11:42:51 · 114 阅读 · 0 评论 -
java内存模型
在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步? 在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。 线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信。同步指的是程序在控制多个线程之间执行程序的相对顺序的机制,在共享内存模型中,同步是显式的,程序员必须显式指定某个方法/代码块需要...原创 2019-03-29 11:02:23 · 109 阅读 · 0 评论 -
java.awt.headless 模式
1. 什么是 java.awt.headless?Headless模式是系统的一种配置模式。在系统可能缺少显示设备、键盘或鼠标这些外设的情况下可以使用该模式。2. 何时使用和headless mode?Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少GUI设备,但又需要使用他...原创 2019-03-28 14:35:18 · 253 阅读 · 0 评论 -
Java SPI机制
1 SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。整体机制图如下:Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程,模块...转载 2019-03-28 12:00:41 · 101 阅读 · 0 评论 -
单例模式
单例模式介绍意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全局使用的类频繁地创建与销毁。何时使用:当您想控制实例数目,节省系统资源的时候。如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。关键代码:构造函数是私有的。应用实例:1、一个班级只有一个班主任。 2、Windows 是多进程多线程的,在操作一个文件的时候,就不...原创 2019-03-08 11:05:43 · 85 阅读 · 0 评论 -
请不要在你的Java代码中出现任何Log4j等日志框架的API的使用,而是应该直接使用SLF4J这种日志门面
作为Java程序员,我想很多人都知道日志对于一个程序的重要性,尤其是Web应用。很多时候,日志可能是我们了解应用程序如何执行的唯一方式。所以,日志在Java Web应用中至关重要,但是,很多人却以为日志输出只是一件简单的事情,所以会经常忽略和日志相关的问题。Java语言之所以强大,就是因为他很成熟的生态体系。包括日志这一功能,就有很多成熟的开源框架可以被直接使用。首先,我们先来看一下目...转载 2019-03-12 09:34:18 · 262 阅读 · 0 评论 -
面试热门知识点之ThreadLocal
先列举下关于ThreadLocal常见的疑问,希望可以通过这篇学习笔记来解决这几个问题: ThreadLocal是用来解决什么问题的? 如何使用ThreadLocal? ThreadLocal的实现原理是什么? 可否举几个实际项目中使用ThreadLocal的案例? 基础知识ThreadLocal是线程局部变量,和普通变量的不同在于:每个线程持有这个变量...转载 2019-03-07 17:58:50 · 415 阅读 · 0 评论 -
图形验证码生成器
/** * 图形验证码生成器 * * @author tums * @date 2018/11/22 18:31 */public class GraphicVerificationCode { /** * 干扰线 */ private final static int INTERFERING_LINE = 10; private Str...原创 2019-03-07 11:51:15 · 200 阅读 · 0 评论 -
SimpleDateFormat并不是一个线程安全的类
一、前言日常开发中,我们经常需要使用时间相关类,说到时间相关类,想必大家对SimpleDateFormat并不陌生。主要是用它进行时间的格式化输出和解析,挺方便快捷的,但是SimpleDateFormat并不是一个线程安全的类。在多线程情况下,会出现异常,想必有经验的小伙伴也遇到过。下面我们就来分析分析SimpleDateFormat为什么不安全?是怎么引发的?以及多线程下有那些SimpleD...转载 2019-02-28 11:54:56 · 791 阅读 · 0 评论