- 博客(18)
- 收藏
- 关注
原创 Linux下Rocketmq4.7安装记录
官网下载安装包本次教程安装的RocketMQ4.7版本,针对linux部署,其他系统参考RocketMQ官网前置条件64bit OS, Linux/Unix/Mac is recommended;(Windows user see guide below)64bit JDK 1.8+;Maven 3.2.x;Git;4g+ free disk for Broker server解压压缩包unzip rocketmq-all-4.7.1-source-release.zip重命名mv r
2020-06-30 07:04:59 647
转载 JAVA核心知识点整理.pdf
点击下方链接免费下载!https://cisco-huang.oss-cn-beijing.aliyuncs.com/文档/JAVA核心知识点整理.pdf
2019-02-25 16:43:25 8717 1
原创 进程与线程的区别
做一个简单的自我总结吧进程:是系统进行分配和管理资源的基本单位线程:进程的一个执行单元, 是进程内调度的实体、是CPU调度和分派的基本单位, 是比进程更小的独立运行的基本单位。线程也被称为轻量级进程, 线程是程序执行的最小单位。一个程序至少一个进程, 一个进程至少一个线程。进程有自己的独立地址空间, 每启动一个进程, 系统就会为它分配地址空间, 建立数据表来维护代码段、堆栈段和数据段, 这...
2019-02-13 17:01:43 20378
原创 阿里巴巴编码规范 java认证记录
记录一下个人的考试题目,答案没有全对,提供题目给大家参考交流,如有发现错误,留言我改正即可,谢谢!我始终相信互相学习才是进步的捷径!单选1.KV结构的集合,在处理null值的存储上有细微的区别,下列哪些说法是正确的:AA .TreeMap的key不可以为nullB .TreeMap的key可以为nullC .ConcurrentHashMap的key可以为nullD .Concurre...
2019-01-07 18:27:28 5691 8
转载 python3.6脚本备份mysql数据库
环境cnetos7.3+python3.6+mysql5.7安装python3.6环境1.安装IUS软件源安装EPEL依赖sudo yum install epel-release安装IUS软件源sudo yum install https://centos7.iuscommunity.org/ius-release.rpm我们对Markdown编辑器进行了一些功能拓展与语法支持,除...
2018-10-08 17:44:59 4238
原创 Cloud Toolkit Idea配置入门教程
本教程用的工具是idea1.在线插件安装2.插件配置在idea的插件设置配置AK/SK获取AK/SK途径(阿里云为例)我们可以看到服务器下的ecs专有网络列表,Host端口设置和RDS配置在其旁边配置上图的host配置RDS如果RDS没设置你的ip白名单的话,要先去设置,不然会登录不上,如何设置这里就不多描述了到了这里基本配置已经完成了,接下来说一下使用1.首先从RD...
2019-03-20 22:16:52 1552
原创 springboot整合websocket
参考链接:https://spring.io/guides/gs/messaging-stomp-websocket/使用Maven构建项目pom文件参考, 其它工具构建方式类似, 具体参考官网<parent> <groupId>org.springframework.boot</groupId> <artifactId
2019-02-24 21:52:00 1448
原创 websocket单播、广播、组播介绍和使用场景说明
单播(Unicast):点对点, 私信私聊广播(Broadcast)(所有人): 游戏公告, 发布订阅多播, 也叫组播(Multicast)(特地人群): 多人聊天、发布订阅
2019-02-24 01:35:31 2685
原创 StampedLock原理及使用
JDK1.8之前, 锁已经那么多了, 为什么还要有StampedLock?一般应用, 都是读多写少, ReentrantReadWriteLock 因读写互斥, 故读时阻塞写, 因而性能上上不去。 可能会使线程饥饿官方代码例子public class StampedLockDemo { // 成员变量 private double x, y; // 锁实例 ...
2019-02-17 14:00:42 2270 1
原创 锁降级详解
锁降级: 写线程获取写入锁后可以获取读取锁, 然后释放写入锁, 这样就从写入锁变成了读取锁, 从而实现锁降级的特征public class LockDegrade { public static void main(String[] args) { ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantRe...
2019-02-17 11:51:24 6424 3
原创 读写锁特性及ReentrantReadWriteLock的使用
特征: 写写互斥、读写互斥、读读共享锁降级: 写线程获取写入锁或可以获取读取锁, 然后释放写入锁, 这样就从写入锁变成了读取锁, 从而实现锁降级的特征先看一个错误例子public class ReentrantReadWriteLockDemo { private int i = 0; private int j = 0; public void out() { ...
2019-02-17 10:00:43 237
原创 如何避免线程安全性问题
线程安全性问题成因多线程环境多个线程操作同一共享资源对该共享资源进行非原子性操作如何避免打破成因中三点中任一点多线程环境 – 将多线程改单线程(必要的代码加锁访问)多个线程操作同一共享资源 – 不共享资源(ThreadLocal、不共享、操作无状态、不可变)对共享资源进行了非原子性操作 – 将非原子性操作改成原子性操作(加锁、使用JDK自带的原子性操作的类、JUC提供的相应的...
2019-02-16 00:23:42 466
原创 什么是线程安全性
当多个线程访问某个类, 不管运行环境采用何种调度方式或者这些线程如何交替执行, 并且在主调代码中不需要任何额外的同步或协同, 这个类都能表现出正确的行为, 那么就称这个类为线程安全的。-- 《并发编程实战》什么是线程不安全?多线程并发访问时, 得不到正确的结果。...
2019-02-15 17:28:13 391
原创 线程的优先级
线程的优先级告诉程序该线程的重要程度有多大。 如果有大量程序都被堵塞, 都在等候运行, 程序会尽可能地运行优先级的那个程序。 但是, 这并不表示优先级较低的线程不会运行。 若程序的优先级较低, 只不过表示它被允许允许的机会小一些而已。线程的优先级设置可以为1-10的任一数值, Thread类中定义了三个线程优先级, 分别是:MIN_PRIORITY(1)、NORM_PRIORITY(5)、MAX...
2019-02-15 14:31:37 1601
原创 线程的状态及其相互转换
我们都知道线程的几个状态, 从源码可以看出不通过代码分析的都是耍流氓~/** * 线程状态Demo */public class ThreadStateDemo { public static void main(String[] args) { // NEW// Thread thread = new Thread(); ...
2019-02-14 09:28:37 873
原创 并发编程的挑战之频繁的上下文切换
cpu为线程分配时间片,时间片非常短(毫秒级别),cpu不停的切换线程执行,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态,让我们感觉是多个程序同时运行的我们知道上下文的频繁切换,会带来一定的性能开销, 那么如何减少上下文切换的开销?无锁并发编程:多线程竞争锁时,会引起上下文切换,所以多线程处理数据时, 可以用一些方法来避免使用锁, 如将数据的ID按照Has...
2019-02-12 18:50:13 649
原创 什么是并发编程
并发历史:早期计算机–从头到尾执行一个程序,资源浪费操作系统出现–计算机能运行多个程序,不同的程序在不同的单独的进程中运行一个进程,有多个线程提高资源的利用率,公平 串行与并行的区别: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190212181306400.png?x-oss-process=image/watermark,type_ZmF...
2019-02-12 18:25:50 1231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人