摘要: 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务 阅读全文
posted @ 2018-11-29 17:05 局外人~~ 阅读(405) 评论(0) 推荐(0) 编辑
摘要: JAVA并发程序设计第一步:了解Java虚拟机提供的API操作,以及线程基本概念的操作: 1:定义线程 -- 继承Thread类和实现Runnable方法 2:线程终止-- 不要用 API 提供的 stop() , stop太暴力,应自己写逻辑实现 3:线程中断 4:等待和通知 5:volatile 阅读全文
posted @ 2018-11-21 15:17 局外人~~ 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 事务实现原则 事务:数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元 阅读全文
posted @ 2018-11-20 15:07 局外人~~ 阅读(339) 评论(0) 推荐(0) 编辑
摘要: spark -- Spark RDD Transformation和Action 目录 Transformation算子 基本的初始化 一、map、flatMap、mapParations、mapPartitionsWithIndex 1.1map 1.2flatMap 1.3mapPartitio 阅读全文
posted @ 2018-11-12 14:53 局外人~~ 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 1:String 特性 、StringBuffer 和StringBuilder的区别 String str = "abc"; "abc"--> 保存在常量池中 String str = new String(“abc”) > 保存在堆栈中 == 比较引用类型的地址是否相同 equals 原本比较引 阅读全文
posted @ 2018-11-09 09:26 局外人~~ 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 在C++中我们需要手动申请内存然后释放内存,否则就会出现对象已经不再使用内存却仍被占用的情况。在Java中JVM内置了垃圾回收的机制,帮助开发者承担对象的创建和释放的工作,极大的减轻了开发的负担。那是不是我们就不需要了解JVM了,显然在做一些优化或者深入研究应用性能的时候,JVM还是起了很关键的作用 阅读全文
posted @ 2018-10-30 17:41 局外人~~ 阅读(1526) 评论(0) 推荐(0) 编辑