- 博客(23)
- 收藏
- 关注
原创 最详细的一步一步整理的Oracle11g 图文安装教程
Oracle11g 安装教程目录文章目录Oracle11g 安装教程目录一、Oracle下载二、Oracle安装三、Oracle安装完成测试1.最快测试我们安装是否完成的方法2.SQL plus连接测试四、用PLSQL连接Oracle五、Oracle学习参考链接:https://blog.youkuaiyun.com/Feng_xiaoqi/article/details/88780749因为自己一直...
2020-04-21 17:38:52
1522
原创 Oracle彻底卸载干净教程
文章目录1.关闭所有服务2.打开注册表:打开cmd,运行regedit。3.删除环境变量4. 重启操作系统5.删除Oracle_Home下的所有数据。6.删除C:\Program Files下oracle目录。7.删除开始菜单下oracle项参考博客:https://blog.youkuaiyun.com/a772304419/article/details/793657441.关闭所有服务 打开cm...
2020-04-21 17:26:25
21333
原创 Java并发(十三)--线程池详解
文章目录一、线程池介绍1. 什么是线程池?2.创建线程池的原因3.线程池的好处二、创建和停止线程池1.线程池构造函数的参数--死锁、活锁和饥饿
文章目录1. 死锁概念以及危害2. 死锁例子3. 死锁排除及分析方法3.1 jstack方法3.2 JConsole方法4. 死锁修复策略5. 实际项目中避免死锁方法6. 活锁7. 饥饿1. 死锁概念以及危害 两个或者更多的线程因竞争资源而造成相互等待的情况,叫做死锁。死锁的影响:死锁的影响在不同系统中是不一样的,取决于系统对死锁 的处理能力。数据库中:检测并放弃事务J...
2020-04-13 11:16:08
371
原创 Java并发(十一)--volatile关键字
文章目录1. 什么是volatile?2. volatile的适用场合3. volatile的作用4. volatile和synchronized的关系5. 用volatile解决重排序的问题6. volatile特点1. 什么是volatile? volatile是一种同步机制,比synchronized或者Lock相关类更轻量,因为使用volatile并不会发生上下文切换等开销很大的行为...
2020-04-10 09:49:24
215
原创 Java并发(十)--Java内存模型
文章目录1. 底层原理2. Java内存模型介绍3. 原子性4. 可见性4.1 关于可见性4.2 可见性问题产生的原因4.3 JMM的抽象:主内存和本地内存4.4 Happens-Before原则4.5 解决可见性问题的方法5. 有序性5.1 重排序的概念1. 底层原理Java代码---->CPU指令过程:首先是.java文件编译后变成字节码.class文件JVM将字节码文件转为...
2020-04-10 09:47:46
304
原创 Java并发(九)--多线程带来的线程安全问题和性能问题详解
文章目录1. 线程安全问题2. 产生线程安全问题的原因3. 线程不安全的三种现象3.1 运行结果错误:3.2 活跃性问题3.3对象的发布和逸出4. 各种需要考虑线程安全的情况5. 性能问题以及体现6. 性能问题产生原因1. 线程安全问题 不管业务中遇到怎样的多个线程访问某对象或某方法的情况,而在编程这个业务逻辑的时候,都不需要额外做任何额外的处理,程序也可以运行正常,就可以称为线程安全。...
2020-04-08 11:18:10
485
原创 Java并发(八)--线程未捕获异常处理详解
文章目录1. 为什么需要UncaughtExceptionHandler?2. 两种解决方案1. 为什么需要UncaughtExceptionHandler?1.主线程可以轻松发现异常,而子线程不可以。/** * @author zhoup * @date 2020/4/7 14:15 * @describe */public class ExceptionChildThread ...
2020-04-08 11:14:45
526
原创 Java并发(七)--线程各属性
文章目录1. 属性概览2. 线程ID3. 线程名称3. 守护线程4. 线程优先级1. 属性概览[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vyBCmL30-1585792834139)(E:\待办\java并发\悟空-Java并发核心知识体系精讲\Java并发编程精讲\源码+资料\362\╞Σ╦ⁿ╤º╧░╫╩┴╧\技术图片\线程各属性概览.png)]2. 线...
2020-04-02 10:01:11
226
原创 Java并发(六)--sleep()、join()、yield()等方法详解
文章目录1.sleep()方法详解2. join()方法详解2.1 join原理3. yield()方法详解1.sleep()方法详解作用:让线程在预期的时间执行,其他时候不要占用CPU资源。性质:sleep方法不会释放锁sleep方法响应中断代码实现:1.sleep方法不会释放锁/** * @author zhoup * @date 2020/4/1 17:07 * @...
2020-04-02 09:01:24
358
原创 Java并发(五)--wait()、notify()和notifyAll()方法详解
文章目录1. 重要方法概览2.wait、notify、notifyAll详解2.1 作用、用法3. 代码实践4.wait、notify、notifyAll特点、性质5. wait()底层原理6. 手写生产者和消费者设计模式7.小例子1. 重要方法概览Thread类:sleep相关 --线程休眠join —等待其他线程执行完毕yield相关 --放弃已经获取到的CPU资源cu...
2020-04-01 16:11:08
619
原创 Java并发(四)--线程的生命周期状态
文章目录1. 六种生命周期介绍2. 状态转换图3. 阻塞状态4. 代码实践1. 六种生命周期介绍 Java线程的状态可以使用监控工具查看,也可以通过Thread.getState()调用来获取。返回值是一个枚举类型。线程状态。线程可以处于以下状态之一: public enum State { 尚未启动的线程处于此状态。 NEW, J...
2020-03-31 15:45:55
264
原创 Java并发(三)--关于停止线程
文章目录1. 原理介绍2. 停止线程的实践2.1正确的停止方法2.2.1 普通情况2.2.2 在阻塞情况下中断线程2.2.3 线程每次迭代后都阻塞的情况下中断2.2.4 TryCatch放到while里面的问题2.2.5 停止线程的两种最佳实践3. 应中断的方法4. 错误的停止方法5. 如何分析native方法1. 原理介绍 使用interrupt来通知,而不是强制。2. 停止线程的实践...
2020-03-31 14:00:11
143
原创 Java并发(二)--启动线程的正确和错误方式以及原理解析
文章目录1. start() 和 run() 方法比较2. start() 方法原理解析2.1 start()方法含义2.2 start() 源码解析3. run() 方法原理解析1. start() 和 run() 方法比较public class StartThreadTest { public static void main(String[] args) { R...
2020-03-30 18:33:31
258
原创 Java并发(一)--实现线程的方式
目录文章目录目录1. 官方声明实现多线程有两种方式。1.1 通过继承Thread类,重写Thread类的run方法1.2 通过实现Runnable接口,把实例作为参数传递给Thread类2. 两种方式对比3. 两种方法一起使用的结果是什么?4. 错误说法5.学习编程的途径6. 如何在业务开发中成长1. 官方声明实现多线程有两种方式。1.1 通过继承Thread类,重写Thread类的run方...
2020-03-30 14:53:00
152
原创 死锁以及死锁排除和分析
死锁以及死锁排除和分析目录文章目录死锁以及死锁排除和分析目录一、死锁概念二、死锁例子三、死锁排除及分析方法3.1 jstack方法3.2 JConsole方法一、死锁概念 两个或者更多的线程因竞争资源而造成相互等待的情况,叫做死锁。二、死锁例子package com.lemon.practice.demo;public class DiedLockDemo { ...
2020-03-25 16:18:02
389
原创 单例模式总结
1. 什么是单例模式?保证一个类只有一个实例:线程池、缓存、日志对象,spring中的bean默认单例。核心:一个私有静态变量、一个私有构造函数、一个公有静态函数。2. 实现方式2.1 懒汉式实现 通过私有静态变量被延迟实例化。 优点:如果没有用到该类,那么就不会进行实例化,节约资源。 多线程下不安全: Pulic class Singleton{ Pr...
2020-03-01 17:53:47
104
原创 Java并发--多线程概念的建立
目录文章目录目录同步和异步并发和并行临界区阻塞和非阻塞死锁(deadlock)、饥饿(Starvation)和活锁(Livelock)同步和异步同步:同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步:异步方法调用更像是一个消息传递,一旦开始,方法调用会立即返回,调用者就可以继续后续的操作。并发和并行并发:并发偏重于多个任务交替执行,多个任务有可能是串行的。...
2020-02-28 17:20:59
352
原创 Markdown语法学习整理
目录文章目录目录标题段落格式列表区块代码链接图片表格HTML支持主题替换文章导出使用[toc]回车标题通过使用#号的多少来表示1-6级标题段落格式字体*斜体文本*_斜体文本_**粗体文本**__粗体文本__***粗斜体文本***___粗斜体文本___==高亮==下划线<u>带下划线文本</u>分割线用三个以上的星号、减号、底线来建立一...
2020-02-28 17:18:01
424
转载 Java实现计算机加减乘除
Java实现加减乘除原文链接:https://blog.youkuaiyun.com/liewen_/article/details/82913837public class BinaryOperation {public static void main(String[] args) throws Exception { System.out.println(binaryAdd(-6, -15...
2019-10-22 09:24:05
1336
原创 算法复杂度的计算
算法的效率既然算法是解决问题的描述,那么就像一千个人眼中有一千个阿姆雷特他大姨夫一样,解决同一个问题的办法也是多种多样的,只是在这过程中我们所使用/消耗的时间或者时间以外的代价(计算机消耗的则为内存了)不一样。为了更快、更好、更强的发扬奥利奥…哦不,提高算法的效率。所以很多时候一个优秀的算法就在于它与其他实现同一个问题的算法相比,在时间或空间(内存)或者时间和空间(内存)上都得到明显的降低。所...
2019-08-09 16:34:13
311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人