自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (8)
  • 收藏
  • 关注

原创 多线程高级讲解二: jdk1.5并发包提供的 CountDownLatch 和 CyclicBarrier类的await方法(计数器)

CountDownLatch其实特别简单,与join的作用差不多。是jdk1.5的并发包提供的。比如现在有3个线程,t1、t2、t3, 我现在希望先执行t1,t3,最后才执行t2.。这时候可以给CountDownLatch设置一个值,比如设置为2,当t1 和 t3执行完毕后,调用CountDownLatch的一个方法,将设置的值2,每次调用,都减1。 当不为0的时候,执行到CountDownLatch的await方法,下面的代码就不执行,然后继续去执行其他线程的方法。直到CountDownL...

2020-07-07 23:19:10 269 1

原创 多线程高级讲解一:常见的线程安全的类有哪些 ?

Vector 与 ArrayList的区别:他们的原理都是通过数组实现的,增删慢,查询快。Vector是线程安全的,ArrayList线程不安全,效率高。我们去看源码:Vector 的add方法是加了synchronized关键字,所以他是一个同步方法,线程是安全的,效率低,工作中即使要使用线程安全的List集合,也不使用Vector,而是用Collections工具类中的 Collections.synchronizedList(arrayList);他可以将线程不安全的Arra...

2020-07-07 21:58:45 1656

原创 多线程基础讲解十一: ThreadLocal

ThreadLocal其实特别简单:就是为每一个线程创建一个局部变量。如果不用ThreadLocal的效果:public class Order { public int count = 0; public Integer getNumber() { return count++; }}public class NewThread extends Thread { private Order order; pu...

2020-07-07 17:22:58 101

原创 多线程基础讲解十: 多线程的Lock锁,多线程同步、多线程并发的概念

同步 和 并发 : 对于程序员来说,他们其实是有两个意思的,一个是多线程层面,一个是网站请求服务器层面。对于网站的请求层面来说:同步:就是代码一步一步的有顺序的向下执行。并发:就是多个请求同时访问一台服务器。对于多线程层面来说:同步: 就是加锁,为了保证数据的原子性。也就是保证数据的正确性。并发:就是多个线程,操作同一个共享的资源。所以:他们之前是有区别的,不是一个概念。接下来就说说Lock锁,他是jdk1.5提供并发包的一个工具。以前没有Lock锁的...

2020-07-07 12:11:59 397

原创 多线程基础讲解九: 多线程之间的通讯 (wait、notify)

我在写这个例子的时候,也出了很多问题。今天头很痛,好长时间没弄出来,心情异常的烦躁。先说下概念吧:多线程之前通讯,不要想复杂了。他就是一个生产者 与 消费者的概念。比如说一个生活中的例子(这是基于我的理解自己想的一个例子):在银行办业务,需要排队。 业务员属于一个线程,办业务的人属于一个线程。那么在程序里就相当于:业务员刚坐下开始上班,就处于一个wait状态(等待),然后业务员就对外面的人立个牌子,空闲中。这就相当于notify,就是告诉外面的人,我这里可以办业务。 然后..

2020-07-06 23:38:40 208

原创 多线程基础讲解八: JDK1.5提供的并发包(API)

java.util.concurrent.atomic包ClassesAtomicBoolean AtomicInteger 比如这个,就是对int类型数据原子性操作的工具类。 AtomicIntegerArray AtomicIntegerFieldUpdater AtomicLong AtomicLongArray AtomicLongFieldUpdater AtomicMarkableReference AtomicReference AtomicReferen...

2020-07-05 01:20:12 206

原创 多线程基础讲解七: volatile关键字

首先volatile关键字有线程安全问题。volatile有一个专业术语:保证了可见性,不保证原子性。首先不使用volatile关键字,看看有什么效果public class NotUseVolatile implements Runnable { /** * 定义一个非volatile修饰的变量 */ private boolean falg = true; /** * 线程执行代码 */ public...

2020-07-05 00:39:21 287

原创 多线程基础讲解五: synchronized使用

多线程的锁有: synchronized 和 jdk1.5的Lock先说synchronized的各种用法:1. 使用任意同一对象做锁 (一定要是同一对象)2. 使用this做锁3. class字节码文件做锁4. 静态同步代码块做锁 (原理其实就是:class字节码文件做锁)5.非静态同步代码块做锁 (原理其实就是:使用this做锁)任意对象做锁例子:/** * @author: wangqinmin * @date : 2020/7/3 * @d...

2020-07-04 17:30:41 128

原创 多线程基础讲解四: 线程安全问题 (全局变量 与 局部变量,谁会有线程安全问题 ?)

什么是线程安全问题:当多个线程共享同一个全局变量,并做写的操作的时候,可能会受到其他线程的干扰,导致数据有问题,这种现象就叫做线程安全问题。全局变量 与 局部变量,谁会有线程安全问题 ?全局变量才会有线程安全问题。在方法内部的局部变量中,每个线程都有自己的局部变量,相互不会干扰。这里说全局变量有安全问题,就在说一个面试题(我面试全友家私的时候面试官问我的问题):String ,StringBuffer,StringBuilder 什么时候使用他们 ?首先,String是.....

2020-07-03 22:43:05 2794

原创 多线程基础讲解三: 等待线程 (用面试题理解join等待线程)

面试题: 创建3个线程,t1、t2、t3,让让t1在t2之前执行,t2在t3之前执行。核心:让其他线程变为等待状态,必须让join方法在其他线程内部调用。/** * @author: wangqinmin * @date : 2020/7/3 * @description: 仰天大笑出门去,我辈岂是蓬蒿人 */public class TestJoin { /** * 用一道面试题讲解join * <p> * 创建3个线程...

2020-07-03 21:42:34 152

原创 多线程基础讲解二: 守护线程 (让你真正的理解守护线程)

其实很多人,对守护线程并不理解。主要原因是: 测试很不好测,有外界因素干扰。所以这篇文章,只是让你认识守护线程,理解守护线程,千万不要纠结于为什么用@Test测试 和 用main方法测试。因为你如果反过来用@Test用main来测,结果刚刚相反。至于为什么:1.@Test 的4版本不支持多线程 2.main方法本身就是jvm启动的一个线程。没有足够理解多线程的时候,千万不要想这个问题。记得只看结果,不看过程。今天就用两个例子,好好的扒一下 守护线程。核心:当一个Java应用内只有...

2020-07-02 01:22:59 586

设计模式 及 开发规范手册.zip

设计模式的pdf文档,让你读懂java设计模式。 java开发规范手册 , 让你开发更规范。

2019-06-28

数据库数据字典生成工具

用于生成数据库表中的字段,阅读起来更加方便。~~~~~~~~~~~~~

2018-12-21

截止2018年9月最新全国行政区3级数据表

先上传这个,后面用数据库生成mysql表再发出来,现在没时间。。。

2018-11-12

PowerDesigner生成带注释的pdm脚本

当PowerDesigner连接好数据库,并生成模型后,在PowerDesigner用Ctrl+Shift+x快捷键打开,然后将脚本内容粘贴运行,就可以开始生成数据库中存在的注释了

2018-11-09

apizzaSQ-3.0.3.crx apizza - 极客专属的api管理工具插件

接口测试工具 的插件, 将该工具拖到谷歌浏览器的扩展程序中 访问https://apizza.net 注册就可以使用了。 不用谢我, 我很风骚的

2018-05-11

oracle公司自己设计的连接oracle的客户端

32位的 instantclient ( 连接oracle的客户端 ) ,也可以在Oracle官网下载

2018-02-28

hibernate+spring+springmvc框架 @注解开发 详细配置注释/及hibernate的HQL/QBC/SQL查询代码使用及注释

之前也发了一个,这个包含之前的,还添加了hibernate对数据库操作的代码(注意:controller层两个QBC/SQLTest代码不能运行,只是写出了操作数据库的除了HQL的另外2种方式)。我发现现在还是有很多公司用hibernate+springmvc。于是我花了几天时间搭建出来的hibernate+springmvc的框架,这个框架去除hibernate配置, 将配置全部整合到spring中,开发中使用注解开发即可,很方便,以后我还会持续更新的。 这是一个maven项目,放在eclipse中,改下mysql数据库用户名+密码+自己建一个数据库名,用tomcat运行下。 数据库也就创建好了

2018-01-03

hibernate+spring+springmvc框架@注解详细搭建,详细注释,不懂的可以留言

我发现现在还是有很多公司用hibernate+springmvc。于是我花了几天时间搭建出来的hibernate+springmvc的框架,这个框架去除hibernate配置, 将配置全部整合到spring中,开发中使用注解开发即可,很方便,以后我还会持续更新的。 这是一个maven项目,放在eclipse中,改下mysql数据库用户名+密码+自己建一个数据库名,用tomcat运行下。 数据库也就创建好了

2017-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除