- 博客(12)
- 收藏
- 关注
原创 多线程练习:实现一个多线程的Word Count
要求:请编写一个程序,统计一个文件列表中,每个单词出现的次数。例如,文件内容是:i am a boyi have a dog你应该返回一个Map:{i->2, am->1, a->2, boy->1, have->1, dog->1}首先使用线程池统计单个文件中单词出现的次数:package com.github.hcsp.multithread;...
2020-02-26 10:04:33
806
原创 使用Condition实现生产者消费者模型
import java.util.Optional;import java.util.Random;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;public class ProducerConsumer2 { public static v...
2020-02-24 22:57:25
176
原创 使用BlockingQueue实现生产者消费者模型
介绍:BlockingQueue 提供了可阻塞的插入和移除的方法。当队列容器已满,生产者线程会被阻塞,直到队列未满;当队列容器为空时,消费者线程会被阻塞,直至队列非空时为止。要求:实现一个生产者/消费者模型,其中:生产者生产10个随机的整数供消费者使用(随机数可以通过new Random().nextInt()获得)消费者依次消费这10个随机的整数标准输出应该得到这样的结果:Produ...
2020-02-24 06:07:08
305
原创 文件读写中的bug
package com.github.hcsp.io;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;public class FileSearch { // 找到第一个包含text的行的行号,行号从1开始计算。若没找到...
2020-02-22 22:17:30
117
原创 java实现生产者消费者模型
实现一个生产者/消费者模型,其中:生产者生产10个随机的整数供消费者使用(随机数可以通过new Random().nextInt()获得)消费者依次消费这10个随机的整数标准输出应该得到这样的结果:Producing 42Consuming 42Producing -1Consuming -1…Producing 10086Consuming 10086Producing -...
2020-02-22 17:35:33
249
原创 多线程存在的问题
多线程存在的问题:竞争条件带来的错误:public class Main { public static Map<Integer, Integer> map = new HashMap<>(); public static void main(String[] args) { for (int i = 0; i < 100; i+...
2020-02-22 11:56:40
314
原创 静态方法&实例方法访问成员变量示例和一些内部类的知识
静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。基于同样的道理,静态方法中也不能使用关键字this。main()方法是一个典型的静态方法,它同样遵循...
2020-02-21 16:44:05
3208
2
原创 对多线程的初步理解
多线程带来了什么问题,如何避免?按照单线程来说,无论你想要清理垃圾、还是要病毒查杀,那么你必须先做完其中的一件事,才能做下一件事,这里面是有一个执行顺序的。如果是多线程的话,我们其实在清理垃圾的时候,还可以进行查杀病毒、电脑加速等等其他的操作,这个是严格意义上的同一时刻发生的,没有执行上的先后顺序。什么是线程安全?当多个线程访问某个方法时,不管你通过怎样的调用方式、或者说这些线程如何交替地...
2020-02-20 01:51:22
88
原创 java 集合类结构图 List Set Map 对比
java 集合类结构图接口实现类保持插入顺序可重复排序使用说明ListArrayListYYN长于随机访问元素;但插入、删除元素较慢(数组特性)LinkedListYYN插入、删除元素较快,但随即访问较慢(链表特性)。SetHashSetNNN使用散列,最快的获取元素方法。TreeSetNNY将元素存储在红-黑...
2020-02-18 20:56:40
149
原创 对Maven的理解
依赖依赖的释义依赖,指的是工程代码中直接用到的别人已经写好的工程代码(.class文件)。依赖的配置<!-- 依赖的坐标(必选,其他可根据需要配置 --><groupId>com.didispace</groupId><artifactId>chapter1-1</artifactId><version>0.0....
2020-02-17 22:06:47
95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人