共 11 页: 首页 上一页 2 3 4 5 6 7 8 9 10 下一页 末页
摘要:MAT内存分析工具 MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器。可以用于查找内存泄露以及查看内存消耗情况。MAT是基于Eclipse开发的,是一款免费的性能分析工具。读者可以在下载并使用MAT。 1 初识MAT 在分析堆快照前,首先需要导出应用程序的堆快照。 阅读全文
posted @ 2018-10-21 13:38 薛勤 阅读 (989) 评论 (0) 编辑
摘要:1.Visual VM多合一工具 Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具,它集成了多种性能统计工具的功能,使用 Visual VM 可以代替jstat、jmap、jhat、jstack甚至是JConsole。在JDK 6 Update 7以后,Visual Vm便作为 阅读全文
posted @ 2018-10-19 20:03 薛勤 阅读 (388) 评论 (2) 编辑
摘要:很多资料在介绍JDK命令行工具时并不是在Java8环境下,因此还在使用过时的永久区系列的参数,给一些读者造成困难。 Java8使用Metaspace(元空间)代替永久区,对于64位平台,为了压缩JVM对象中的_klass指针的大小,引入了类指针压缩空间(Compressed Class Pointe 阅读全文
posted @ 2018-10-18 18:57 薛勤 阅读 (1162) 评论 (0) 编辑
摘要:1.Linux命令行工具 推荐:CentOS 7 1.1 top命令 top命令的输出如下: top命令的输出可以分为两部分:前半部分是系统统计信息,后半部分是进程信息。在统计信息中, 第1行是任务队列信息,它的结果等同于 uptime 命令。从左到右依次表示:系统当前时间、系统运行时间、当前登录用 阅读全文
posted @ 2018-10-16 23:06 薛勤 阅读 (1268) 评论 (0) 编辑
摘要:本文是从网络复制、经过我的整理、开光而来的,而来的,来的,的。 为什么?因为写的太好了~没事打开看看打发打发时间,哈哈~ 零、NIO包 类包含在一个叫作 包的包中。要了解NIO子系统不会取代 包中可用的基于流的I/O类,如果有对 基于流的I/O的如何工作有所有了解,这有助于您学习和使用 中的知识内容 阅读全文
posted @ 2018-10-12 22:44 薛勤 阅读 (305) 评论 (1) 编辑
摘要:[TOC] 1.Java虚拟机内存模型 JVM虚拟机将内存数据分为程序计数器、虚拟机栈、本地方法栈、Java堆和方法区等部分。 程序计数器用于存放下一条运行的指令;虚拟机栈和本地方法栈用于存放函数调用堆栈信息;Java堆用于存放Java程序运行时所需的对象等数据;方法区用于存放程序的类元数据信息。 阅读全文
posted @ 2018-10-10 18:41 薛勤 阅读 (1237) 评论 (0) 编辑
摘要:Java8 的新特性:Lambda表达式、强大的 Stream API、全新时间日期 API、ConcurrentHashMap、MetaSpace。总得来说,Java8 的新特性使 Java 的运行速度更快、代码更少、便于并行、最大化减少空指针异常。 本篇博客将以笔者的一些心得帮助大家快速理解la 阅读全文
posted @ 2018-10-01 17:47 薛勤 阅读 (1781) 评论 (1) 编辑
摘要:1.简介 AiPa 是一款小巧,灵活,扩展性高的多线程爬虫框架。 AiPa 依赖当下最简单的HTML解析器Jsoup。 AiPa 只需要使用者提供网址集合,即可在多线程下自动爬取,并对一些异常进行处理。 2.Maven 直接引入 3.如何使用 先来看下一个简单完整的示例程序: 必须实现的接口 mai 阅读全文
posted @ 2018-09-27 17:33 薛勤 阅读 (1739) 评论 (6) 编辑
摘要:在JDK的并发包里提供了很多有意思的并发工具类。CountDownLatch、CyclicBarrier和Semaphore 工具类提供了一种并发流程控制的手段,Exchanger 工具类则提供了在线程间交换数据的一种手段。 1.等待多线程完成的 CountDownLatch CountDownLa 阅读全文
posted @ 2018-09-26 17:45 薛勤 阅读 (202) 评论 (1) 编辑
摘要:本文将通过实现一个简易的线程池理解线程池的原理,以及介绍JDK中自带的线程池ThreadPoolExecutor和Executor框架。 1.无限制线程的缺陷 多线程的软件设计方法确实可以最大限度地发挥多核处理器的计算能力,提高生产系统的吞吐量和性能。但是,若不加控制和管理的随意使用线程,对系统的性 阅读全文
posted @ 2018-09-26 12:24 薛勤 阅读 (288) 评论 (0) 编辑
摘要:由于并行程序与串行程序的不同特点,适用于串行程序的一些数据结构可能无法直接在并发环境下正常工作,这是因为这些数据结构不是线程安全的。本节将着重介绍一些可以用于多线程环境的数据结构,如并发List、并发Set、并发Map等。 1.并发List Vector 或者 CopyOnWriteArrayLis 阅读全文
posted @ 2018-09-24 18:46 薛勤 阅读 (8578) 评论 (0) 编辑
摘要:Master Worker模式是常用的并行模式之一。它的核心思想是,系统由两类进程协作工作:Master进程和Worker进程。Master进程负责接收和分配任务,Worker进程负责处理子任务。当各个Worker进程将子任务处理完成后,将结果返回给Master进程,由Master进程做归纳和汇总, 阅读全文
posted @ 2018-09-24 14:11 薛勤 阅读 (1208) 评论 (1) 编辑
摘要:1.Future模式 Future模式和多线程技术密切相关,可以说是利用多线程技术优化程序的一个实例。 在程序设计中,当某一段程序提交了一个请求,期望得到一个答复。但非常不幸的是,服务程序对这个请求的处理可能比较慢,比如,这个请求可能是通过互联网、HTTP或者Web Service等并不高效的方式调 阅读全文
posted @ 2018-09-21 17:31 薛勤 阅读 (1130) 评论 (1) 编辑
摘要:本文应注重掌握如下知识点: 1. 线程组的使用 2. 如何切换线程状态 3. SimpleDataFormat 类与多线程的解决办法 4. 如何处理线程的异常 1.线程的状态 线程对象在不同运行时期有不同的状态,状态信息就处于State枚举类中,如图所示: 线程状态 1. 初始(NEW) :新创建了 阅读全文
posted @ 2018-09-20 15:08 薛勤 阅读 (307) 评论 (0) 编辑
摘要:本文只需要考虑一件事:如何使单例模式遇到多线程是安全的、正确的 1.立即加载 / "饿汉模式" 什么是立即加载?立即加载就是使用类的时候已经将对象创建完毕,常见的实现办法就是直接 new 实例化。 打印结果: 控制台打印的 hashCode 是同一个值,说明对象是同一个,也就实现了立即加载型单例设计 阅读全文
posted @ 2018-09-19 22:22 薛勤 阅读 (161) 评论 (0) 编辑
摘要:本文主要介绍使用Java5中Lock对象也能实现同步的效果,而且在使用上更加方便。 本文着重掌握如下2个知识点: 1. ReentrantLock 类的使用。 2. ReentrantReadWriteLock 类的使用。 1. 使用ReentrantLock 类 在Java多线程中,可以使用 sy 阅读全文
posted @ 2018-09-19 20:30 薛勤 阅读 (175) 评论 (0) 编辑
摘要:线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体。线程间的通信就是成为整体的必用方案之一,可以说,使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时还会使程序员对各线程任务在处理的过程中进行有效的把控与监督。 在本章中需要着重掌握的技术点如下: 使 阅读全文
posted @ 2018-09-19 13:48 薛勤 阅读 (261) 评论 (0) 编辑
摘要:本文主要介绍Java多线程中的同步,也就是如何在Java语言中写出线程安全的程序,如何在Java语言中解决非线程安全的相关问题。阅读本文应该着重掌握如下技术点: 1. synchronized对象监视器为Object时的使用。 2. synchronized对象监视器为Class时的使用。 3. 非 阅读全文
posted @ 2018-09-16 12:14 薛勤 阅读 (646) 评论 (3) 编辑
摘要:又到一年刷课季,如果你的课程在智慧树,请看我写的另一篇: "破解智慧树视频弹题及实现自动播放下一节" 最近选了门超星泛雅的课程,连鼠标都不能乱动呀,动不动播放暂停。身为计科的学生,怎么能被这难倒? 于是昨晚用了一两个小时,写了个破解脚本挂了一夜的网课,今早一看已经看完了。现在我就把我写的JS脚本贴出 阅读全文
posted @ 2018-09-12 13:40 薛勤 阅读 (8380) 评论 (6) 编辑
摘要:"HTTP Content Type在线工具" 有时候我们需要获取本地文件的Content Type,已知 Jdk 自带了三种方式来获取文件类型。 另外还有第三方包 Magic 也提供了API。Magic依赖: 下面我们来通过单元测试看下这四种方式的效果。主要代码: 首先,新建文本文件更名为new. 阅读全文
posted @ 2018-09-08 00:22 薛勤 阅读 (4186) 评论 (0) 编辑
共 11 页: 首页 上一页 2 3 4 5 6 7 8 9 10 下一页 末页