自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 生产者消费者模式

用wait和notifyAll来实现生产者消费者模式(关键在于队列的创建)import java.util.ArrayList;import java.util.Date;import java.util.LinkedList;import java.util.List;public class Demo02_生产者消费者模式 { public static void m...

2019-12-12 17:33:43 87

原创 两个线程交替打印1-100之间的奇偶数

实现一:synchronized关键字实现(缺点:效率低)实现思路:让两个线程来争夺同一把锁,如果抢到锁只有满足自己的奇偶判定条件才打印(注:&方式判断奇偶更高效)public class Demo04_两个线程交替打印奇数_纯synchronized { private static Object lock = new Object(); private sta...

2019-12-12 17:25:32 763

原创 Thread和Runnable哪个好

简单粗暴的回答:Runnable好,那为什么好呢?主要有三点1.从代码的架构层面来说,具体的执行任务应该跟线程的创建执行解耦(代码架构)2.使用继承Thread的方式的话,那么每次想新建一个任务只能新建一个独立的线程,而这样做的损耗会比较大(比如从头开始创建一个线程,执行完毕以后再销毁等,如果线程的实际工作内容,也就是在run()函数里只是简单的打印一行文字的话,那么可能线程的实际工作内容还不...

2019-12-11 12:08:28 715

原创 创建线程方式到底有几种

相信好多小伙伴都在搜索过创建线程的方式,网上给的说法也是什么都有(有说两种的、三种的、四种的、五种的...),这些观点肯定让好多小伙伴产生迷惑。那我要说的是:这些答案不能说错,只能说不对。那我凭什么这么说呢?我的根据是Oracle的官方文档。文档是最有权威的。那有的小伙伴可能又有疑问了,那为什么其他的不属于创建线程的方式呢?其实是因为他们底层都直接或者间接的利用了Thread类或者Runn...

2019-12-11 11:57:27 323

原创 IntelliJ IDEA动感插件之activate-power-mode

首先感谢大家来看我的文章。这次我给大家介绍的是IDEA的一款插件activate-power-mode,它可以让写代码有一种酷炫的感觉。话不多说,来看截图。怎么样,是不是有一种很炫的感觉的。是不是有心动的小伙伴?那下面我来介绍一下这个插件是怎么安装的:第一步,我们需要先把电脑开机...(),额,开玩笑的,当然不是。第一步我们需要先把IDEA启动,然后依次选择菜单栏中的File-&...

2019-12-06 18:12:09 2546 1

原创 Mybaits执行insert语句,数据库出现两条一样的记录解决办法

由于刚开始学习Mybaits,所以对Mybaits有点不熟练,在执行insert方法时遇到了两个问题,跟大家分享一下。问题一:执行insert方法时,显示测试通过,但是数据库却无数据。代码如下:// 以上省略导包代码public class MybatisTest { private InputStream is; private SqlSession sqlSess...

2019-12-05 11:01:08 5213 2

原创 Maven环境下Mybaits入门配置

本次配置前提需要先安装好Maven一、Mybaits环境搭建1、先创建一个普通的Maven工程,并在pox.xml文件中配置Mybaits坐标。坐标官方地址https://mybatis.org/mybatis-3/zh/getting-started.html2、创建Mybaits的主配置文件SqlMapConfig.xml。并配置数据库的核心信息。<?xml versi...

2019-12-04 13:24:06 196

原创 Java运行时数据区

Java虚拟机划分的运行时数据区有5部分:本地方法区、虚拟机栈、本地方法栈、堆、程序计数器,程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭。一、程序计数器当前线程所执行的字节码的行号指示器,字节解释器通过改变这个计数器的值来选取下一条需要执行的字节码指令。每个线程之间都有一个独立的程序计数器,它们之间互不影响、独立存储。此内存区域是唯一一个在Java虚拟机规范中没有规定任...

2019-12-03 14:21:11 107

原创 Java中的死锁

一、什么是死锁死锁是指两个或者两个以上的线程在执行过程中,由于竞争互斥资源或者由于彼此通信而造成的一种阻塞的现象。发生死锁后若无外力作用,两个线程都将无法运行。二、死锁发生的四个条件1、互斥条件2、请求与保持条件3、不剥夺条件4、循环等待条件三、常见修复策略1、避免策略(推荐)哲学家就餐的换手方案、转账方案。通过hashcode来决定获取锁的顺序、冲突时需要加‘加时赛’。...

2019-12-03 11:58:07 147

原创 IntelliJ IDEA控制台中文乱码解决

原因:现在我们开发中使用的编码都是UTF-8编码,但是windows默认编码是GBK,在这种情况下,当打印中文字符时,就可能会出现乱码。解决方法:第一步:.打开IDEA安装目录中bin文件夹下的idea.exe.vmoptions和idea64.exe.vmoptions。分别在这两个文件末尾添加-Dfile.encoding=UTF-8第二步:打开IDEA,依次选择File&gt...

2019-12-03 11:36:37 143

空空如也

空空如也

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

TA关注的人

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