Java
进击的星球
这个作者很懒,什么都没留下…
展开
-
Caused by: java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/
Caused by: java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;报错原因:myeclipse中JAVAEE6.0中的 javax.persistence.jar与 hibernate中的hibernate-jpa-2转载 2015-05-18 16:53:08 · 2345 阅读 · 0 评论 -
线程间通信---等待/通知的经典范式
4.3.3 等待/通知的经典范式等待/通知的相关方法是任意Java对象都具备的,因为这些方法被定义在所有对象的超类java.lang.Object上,方法和描述如表4-2所示。表4-2 等待/通知的相关方法从4.3.2节中的WaitNotify示例中可以提炼出等待/通知的经典范式,该范式分为两部分,分别针对等待方(消费者)和通知方(生产者)。运用等待/通知必须先对对象进...原创 2019-03-16 22:56:05 · 218 阅读 · 0 评论 -
线程学习(一)
一.线程组和线程池: 线程组:线程组存在的意义,首要原因是安全。java默认创建的线程都是属于系统线程组,而同一个线程组的线程是可以相互修改对方的数据的。但如果在不同的线程组中,那么就不能“跨线程组”修改数据,可以从一定程度上保证数据安全。 线程池:线程池存在的意义,首要作用是效率。线程的创建和结束都需要耗费一定的系统时间(特别是创建),不停创建和删除线程会浪费大量...原创 2019-04-05 15:50:42 · 93 阅读 · 0 评论 -
线程学习(二)--threadlocal
并发(concurrency)和并行(parallellism)是:在一台处理器上“同时”处理多个任务,叫并发;在多台处理器上同时处理多个任务,叫并行。如hadoop分布式集群ThreadLocal:ThreadLocal使用场景(1)每个线程都需要维护一个自己专用的线程的上下文变量,比如计数器,jdbc链接,web开发里面的session,事务id等。(2)包装一个线程不安全的成...转载 2019-04-05 17:47:17 · 169 阅读 · 0 评论 -
Java 多线程(学习三)--如何实现线程间通信
原文出处:wingjay正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及到的知识点:thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBarrier, FutureTask, Callable 等。本文涉及...转载 2019-04-05 17:51:12 · 102 阅读 · 0 评论 -
线程学习(三)--Semaphore
参考:1.http://www.threadworld.cn/archives/27.html 2.https://www.cnblogs.com/XHJT/p/3910406.htmlSemaphore类是一个计数信号量,必须由获取它的线程释放,通常用于限制可以访问某些资源(物理或逻辑的)线程数目。一个信号量有且仅有3种操作,且它们全部是原子的:初始化、增加和减少...原创 2019-04-05 18:31:46 · 128 阅读 · 0 评论 -
java命令工具
java命令--jstack 工具一、介绍jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或corefile或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid主要分为两个功能:a. 针对活着的进...转载 2019-04-07 13:55:02 · 241 阅读 · 0 评论 -
java的回收机制----根搜索算法
根搜索算法的基本思路是通过一系列的“GC Roots”的对象作为起始点,从这些节点开始往下搜索,搜索的走过的路径称为引用链,当一个对象到“GC Roots”没有引用链可达时(也就是用图论的话说就是从GC Roots到这个对象不可达),则证明此对象是不可用的,这样的对象被判定为是可回收的。java中可以作为GC Roots对象包括以下几种:1.虚拟机栈(栈帧中的本地变量表)中的引用对象。原创 2016-03-27 11:13:42 · 4750 阅读 · 0 评论 -
java高并发之限流
在开发高并发系统时,一般都需要一些手段来保护系统。比如缓存,降级,限流等。缓存用于提升系统访问速度和增大系统处理能力;降级一般当服务出现问题或者影响到核心流程的性能,需要暂时屏蔽掉一些功能,待高峰过去或问题解决后再重新打开。而对于稀缺资源的访问,频繁调用复杂查询等需要大量计算资源的请求等,需要一种手段来限制这些场景下的并发量或请求量,此时需要使用的手段就是限流。 限流的目的是通过对并发访问...转载 2019-04-07 22:21:41 · 619 阅读 · 0 评论