
04-java编程
java
夜未眠shm
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java并发编程(四)共享模型之无锁
1.问题提出 有如下需求,保证account.withdraw取款方法的线程安全 public class TestAccount{ public static void main(String[] args) { Account account = new AccountUnsafa(10000); Account.demo(account); Account account2 = new AccountCas(10000); ..原创 2020-09-27 00:48:11 · 330 阅读 · 0 评论 -
java并发编程之应用
效率 案例1 - 多线程提升效率 案例2-防止CPU占用100% 统筹 案例--烧水泡茶 阅读华罗庚《统筹方法》,给出烧水泡茶的多线程解决方案。 解法1 申明:内容来自网络,仅供学习使用 https://www.bilibili.com/video/BV1jE411j7uX ...原创 2020-09-24 00:53:32 · 174 阅读 · 0 评论 -
java并发编程之原理
三. volatile原理 1.如何保证可见性 2.如何保证有序性 3.double-checked locking问题 以著名的double-checked locking单例模式为例 4.double-checked locking解决 申明:内容来自网络,仅供学习使用 https://www.bilibili.com/video/BV1jE411j7uX ...原创 2020-09-23 23:17:13 · 212 阅读 · 0 评论 -
java并发编程(三)共享模型之内存
1.java内存模型 2.可见性 2.1 退不出的循环 2.2 解决方案 volatile(易变关键字) 它可以用来修饰成员变量和静态成员变量,它可以避免线程从自己的工作缓存中查找变量的值,必须到主存中获取它的值,线程操作volatile变量都是直接操作主存。 2.3 可见性vs原子性 2.4 模式之两阶段终止 2.5 模式之Balking 3. 申明:内容来自网络,仅供学习使用 https:/...原创 2020-09-19 01:02:28 · 239 阅读 · 0 评论 -
java并发编程之模式
1.同步模式之保护性暂停 2.异步模式之生产者/消费者原创 2020-09-17 22:18:58 · 196 阅读 · 0 评论 -
java并发编程(二)共享模型之管程
4.共享模型之管程 4.1 共享带来的问题 @Slf4j(topic = "c.Test17") public class Test17 { static int count = 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(()->{ for (int i = 0; i < 5原创 2020-09-07 19:40:03 · 342 阅读 · 0 评论 -
java并发编程(一)基础知识
1.为什么要使用并发编程 充分利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。 方便进行业务拆分,提升系统并发能力和性能:在特殊的业务场景下,先天的就适合于并发编程。现在的系统动不动就要求百万级甚至千万级的并发量,而多线程并发编程正是开发高并发系统的基础,利用好多线程机制可以大大提高系统整体的并发能力以及性能。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分 。 2.进程与线程 2.1 进程与线程 2.2 并行与原创 2020-09-06 20:02:27 · 252 阅读 · 0 评论 -
学习资源链接
1.jdb下载 2.svn 3.maven 技能 技术技能 平台技能 业务技能 工具 前端: § Html,Js,CSS,jQuery,XML ...原创 2019-11-07 18:01:54 · 602 阅读 · 0 评论 -
Java8新特性——新时间日期API
以前的时间API是线程不安全的,是可变的 多线程对日期进行处理要加锁 LocalDate、LocalTime、LocalDateTime 类的实例是不可变的对象,分别表示使用 ISO-8601日历系统的日期、时间、日期和时间。它们提供了简单的日期或时间,并不包含当前的时间信息。也不包含与时区相关的信息。 //1.LocalDate LocalTime LocalDateT...转载 2019-09-27 19:44:12 · 150 阅读 · 0 评论 -
Java8新特性——其它
并行流与串行流 并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。 Java 8 中将并行进行了优化,我们可以很容易的对数据进行并行操作。Stream API 可以声明性地通过 parallel() 与 sequential() 在并行流与顺序流之间进行切换。 了解 Fork/Join 框架 Fork/Join 框架:就是在必要的情况下,将一个大任务,进形拆分(for...转载 2019-09-27 16:36:03 · 105 阅读 · 0 评论 -
Java8新特性——Stream API
位于包: java.util.stream .* Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。 ...转载 2019-09-26 17:58:51 · 136 阅读 · 0 评论 -
Java8新特性——Lambda
2014年3月发布 公司往往不是追求技术的新,而且追求技术的稳定。所以大多用的之前的版本。 Java 8 新特性简介 速度更快 修改底层数据结构:如HashMap(数组-链表-红黑树),HashSet,ConcurrentHashMap(CAS算法) 修改垃圾回收机制:取消堆中的永久区(PremGen)->回收条件苛刻,使用元空间(MetaSpac...转载 2019-09-25 18:00:24 · 165 阅读 · 0 评论 -
学习笔记:突出程序员基本功(三)常见java集合的实现细节
1.Set和Map set代表一种集合元素无序,集合元素不可重复的集合,Map则代表一种由多个key-value对组成的集合。可以说,map集合是set集合的扩展。map所有key集中起来就是个set集合,而对于map而言,相当于每个元素都是key-value的set集合。 1.1 set和map的关系 1.2 HashMap和HashSet 虽然集合号称存储的是java对象,但...原创 2019-09-24 17:25:56 · 167 阅读 · 0 评论 -
学习笔记:突出程序员基本功(二)对象与内存控制
java内存管理分为两个方面:内存分配和内存回收; 内存分配:这里特指创建java对象的JVM为该对象在堆内存中所分配的内存空间; 内存回收:当该java对象失去引用,变成垃圾时,JVM的垃圾回收机制自动清理该对象,并回收该对象所占用的内存; 1.实例变量和类变量 java程序的变量大体分为成员变量和局部变量 类体内定义的变量被称为成员变量。如果定义该成员变量时没用使用static修饰,...原创 2019-08-06 15:37:13 · 222 阅读 · 0 评论 -
学习笔记:突出程序员基本功(一)数组与内存控制
1.数组初始化 1.1 java语言是典型的静态语言,因此java的数组是静态的,即当数组被初始化之后,该数组的长度是不可变的。java程序中的数组必须经过初始化才可以使用。java数组一旦初始化完成,该数组的长度就不可改变。 数组的初始化有以下两种方式: 静态初始化:初始化时由程序员显示指定每个数组元素的初始值,有系统决定数组长度。 动态初始化:初始化时程序员只指定数组长度,有系统为数组...原创 2019-08-05 15:57:01 · 2213 阅读 · 0 评论 -
BigDecimal加减乘除运算
java.math.BigDecimal。BigDecimal一共有4个够造方法,让我先来看看其中的两种用法: 第一种:BigDecimal(double val) Translates a double into a BigDecimal. 第二种:BigDecimal(String val) Translates the String repre sentation of a BigDe...转载 2018-06-21 10:28:52 · 583 阅读 · 0 评论 -
JDK1.7 新特性
1、switch支持String做参数 /*** * switch支持字符串做参数 jdk7 * @author huangjiawei */ public class SwitchTest { public static void switchTest(String arg) { switch (arg) { case "Lisa": System....转载 2018-08-22 17:14:54 · 146 阅读 · 0 评论