Java
小时候跟鹅打过架
用最少的bb讲清楚道理
展开
-
quartz create jdbc tables
## Quartz seems to work best with the driver mm.mysql-2.0.7-bin.jar## PLEASE consider using mysql with innodb tables to avoid locking issues## In your Quartz properties file, you'll need to set# org.quartz.jobStore.driverDelegateClass = org.quartz.i.原创 2021-11-02 14:46:41 · 61 阅读 · 0 评论 -
深入理解Java虚拟机 tomcat类加载器架构笔记
tomcat有commonClassLoader、CatalinaClassLoader、sharedClassLoader、webappClassLoader、jspClassLoader等类加载器。这些类加载器是为了实现Java类库的组织(隔离或者共享)创建的。类加载器之间的关系如图加载器之间的父子级关系并不是继承来实现的,而是通过组合来实现的。隔离是怎么实现的呢? 假如webappclass loader需要加载某个Java类库中的资源A.class,通过双亲委派...原创 2021-08-20 15:48:26 · 78 阅读 · 0 评论 -
记一次通过ip访问不到主机的问题
问题描述: 服务a部署在机器192.168.0.206上,前端通过Nginx代理访问后端,一个springbean类中有如下代码(图一):看第575行,相关代码如下(图二):请求到图一中该方法时,会抛出类找不到的异常。经分析,原因可能如下:由于图一方法中有图二类的引用,调用图一方法前该类会创建实例初始化,这会导致图二类的初始化,然后调用图二中的方法,图二红框中的方法会根据主机名来获取ip,由于host文件中没有配置主机名和127.0.0.1的映射,所以导致了异常...原创 2021-08-05 09:39:47 · 227 阅读 · 0 评论 -
一个线程死掉就等于整个进程死掉
我的理解是:如果你有n个任务,在同一个进程中用n个线程去完成这些任务,如果其中一个线程意外死亡(ERROR),很可能会导致整个进程终止,其他的线程也会销毁,这些任务就都失败了。如果你用n个进程去完成这n个任务,由于进程都有自己独立的地址空间,当其中一个意外死亡(ERROR)时,并不会影响其他的任务。...原创 2021-07-16 10:24:28 · 3101 阅读 · 0 评论 -
记java数组局部变量的初始化问题
package com.example.demo;import java.util.*;/** * @author lzf * @create 2021/3/26 */class Solution { public static void main(String[] args) {// int i;// System.out.println(i);//i未初始化// int[] ints = new int[];//编译出错,需指定数.原创 2021-03-29 16:58:25 · 181 阅读 · 0 评论 -
记录一次打jar包获取不到文件的错误
Javasb项目中获取配置文件可以用:Document document = saxReader.read(this.getClass().getClassLoader().getResource("./UpdatePackageConfig.xml").getPath());但是打了jar包直接崩盘,找不到文件,报空指针。改成这种方式:InputStream inputStream = LoginController.class.getResourceAsStream( "/Updat.原创 2020-06-10 10:58:14 · 210 阅读 · 0 评论 -
Thread和runnable及callable
区别,看代码public class Thread implements Runnablepublic interface Runnable { public abstract void run();}public interface Callable<V> { V call() throws Exception;}我要说的是,当你在线...原创 2019-12-06 09:37:24 · 109 阅读 · 0 评论 -
并发随笔
AbstractExecutorService implements ExecutorService他的invokeAll()会等待所有任务执行完毕,或者调用线程被中断,又或者超过指定时限时返回,超过指定时限后,会把所有的future调用取消cancel(true),包括执行完的,调用执行完的cancel方法没有影响。...原创 2019-12-05 09:18:26 · 68 阅读 · 0 评论 -
记一个file.remaneTo()异常
rename之前必须先关闭流原创 2019-12-03 16:52:44 · 101 阅读 · 0 评论 -
Java并发随笔
1 什么时候需要考虑并发问题 多线程环境下(好多人第一反应是访问量大,是因为访问量大的程序多线程居多,但是两者并不等价)2 多线程可能产生的问题有哪些 1.安全性(共同访问数据) 2.活跃性(例如死锁) 3.性能(多线程同步时会影响性能,线程的切换也会)3 线程安全包括哪些方面 1.对象的正确创建(不要在构造器中使this逸出) ...原创 2019-11-01 13:48:43 · 209 阅读 · 0 评论 -
java并发编程实战this引用逸出
java并发编程实战3.2节讲到以下代码会使this引用逸出:public class ThisEscape{ publicThisEscape(EventSource es){ es.registerListener( new EventListener(){ public voi...原创 2019-10-17 19:38:22 · 122 阅读 · 0 评论 -
写个快速排序(Java)
public class QuickSort {public static void main(String[] args) {int[] aa = new int[]{12,1,6,5,3,8,1,9,45,8};quickSort(aa, 0, aa.length-1);for (int i = 0; i < aa.length; i++) {System.out.printl...原创 2019-08-19 01:05:44 · 112 阅读 · 0 评论 -
简单说说Java的动态代理
为了懂Java动态代理我看了好几篇文章,总觉得怪怪的。后来看用mybatis的时候发现它不需要实现就去看了看原理,正好顺道把动态代理收了。好多文章讲动态代理都会给个实现类,这是我不理解的最主要原因,不知道是不是我太呆了。。我写了个例子public class DymicTest { public static void main(String args[]) throws Excep...原创 2019-07-26 21:41:09 · 381 阅读 · 5 评论 -
为啥Vector类不是绝对线程安全
深入理解Jvm里面讲到Vector类不是绝对线程安全,代码:private static Vector<Integer> vector = new Vector<>();public static void main(String args[]) throws Excption{ while(true){ for(int i=0; i<...原创 2019-07-26 21:09:36 · 473 阅读 · 1 评论