随笔分类 - JavaSE
在这里发布一些学习java中遇到的问题或者是已经解决的方案!一起学习
摘要:一、JVM体系概述: Java8以后的JVM 二、常见的垃圾回收算法 1.引用计数 2.复制 Java堆从GC的角度还可以细分为: 新生代(Eden 区、From Survivor 区和To Survivor 区)和老年代。 MinorGC的过程(复制->清空->互换):a. Eden、Surviv
阅读全文
摘要:一、线程池的 使用以及优势 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务 如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。 它的主要特点为: 线程复用,控制最大并发数,管理线程。 优点: 降低资源消耗
阅读全文
摘要:生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据。 阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费者解耦的。 一、生产者消费者实现-Object/wait/notify 精简
阅读全文
摘要:阻塞队列: Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口。 BlockingQueue接口的实现类 BlockingQUeue的核心方法 一、ArrayBlockingQueue 1、抛出异常: BlockingQueue<S
阅读全文
摘要:前言:在并发中,最熟悉的JUC编程,问的最多的也是下面四个包,随手写篇博客记录日常中的学习一下! 一、读写锁 java.util.concurrent.locks.ReentrantReadWriteLock; ReadWriteLock管理一组锁,一个是只读的锁,一个是写锁。读锁可以在没有写锁的时
阅读全文
摘要:狂神大佬的bilibili视频地址:https://www.bilibili.com/video/BV1B7411L7tE 1、什么是 JUC JUC就是 java.util 下的工具包、包、分类等。 普通的线程代码: Thread Runnable 没有返回值、效率相比入 Callable 相对较
阅读全文
摘要:【推荐】集合初始化时,指定集合初始值大小。 说明:HashMap 使用 HashMap(int initialCapacity) 初始化, 正例:initialCapacity = (需要存储的元素个数 / 负载因子) + 1。注意负载因子(即 loader factor)默认为 0.75,如果暂时
阅读全文
摘要:使用DOS窗口将程序打成jar包: 1、将你的.java文件生成.class文件 命令: javac 文件名.java 2、 将.class文件打成jar包 jar命令参数: 帮助文档: -c 创建新档案 -t 列出档案目录 -x 从档案中提取指定的 (或所有) 文件 -u 更新现有档案 -v 在标
阅读全文
摘要:1 package IO流; 2 3 import java.io.*; 4 5 public class Test03_完成文件夹的拷贝 { 6 public static void main(String[] args) throws Exception { 7 //源文件路径 8 File f
阅读全文
摘要:注:本博客只是为了自己的学习,记录自己的学习,请勿用于其他途径、 1、win+R-->cmd 2、ping 网站 3、替换IP 1 import java.io.BufferedInputStream; 2 import java.io.IOException; 3 import java.net.
阅读全文
摘要:1、ScheduledExecutorService 和 Timer 的区别 Timer的内部只有一个线程,如果有多个任务的话就会顺序执行,这样我们的延迟时间和循环时间就会出现问题。 ScheduledExecutorService是线程池,所以就不会出现这个情况,在对延迟任务和循环任务要求严格的时
阅读全文
摘要:HashMap: HashMap中的key去重是要重写equals跟hashCode实现 测试代码: 重写了equals跟hashCode后map的大小是1、如果没有重写map的大小是2。 说明重写了equals跟hashCode后将HashMap集合的key进行了去重操作! import java
阅读全文
摘要:public class MyTest2 { public static void main(String[] args) throws Exception { //获取Class对象 Class demo = Class.forName("Demo"); //1、使用newInstance创建对象
阅读全文
摘要:一、先别看答案,说出这段代码的执行顺序 public class Demo { public static void main(String[] args) { Parent parent = new Son(); Parent parent1 = new Son(); } } class Pare
阅读全文
摘要:删除文件:存在文件则直接删除返回true,如果不存在返回false 删除目录: ①:为空:直接删除 ②:不为空:删不掉 (需要先删除文件夹里面所有文件,再删除文件夹) ③:不存在直接返回false注意:delete方法 ==>直接从磁盘中删除,不能像回收站一样可以恢复!! public static
阅读全文
摘要:1、创建文件/目录 File f1 = new File("H:\\测试\\hello.txt"); //如果文件不在存在 if (!f1.exists()) { f1.createNewFile();//文件不存在就创建文件 //f1.mkdir();//目录不存在就创建目录 } 2、创建多层目录
阅读全文
摘要:import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import java.text.SimpleDateFor
阅读全文
摘要:利用IO流+网络编程知识对网络资源进行抓取 下载资源: java代码: public static void main(String[] args) throws Exception { //1、资源地址 URL url = new URL("http://localhost:8080/zhangz
阅读全文
摘要:前言: 今天看视频学习了多线程+IO的知识用来下载网络图片,俗话说:好记性不如烂笔头,所以这里就写个随笔记录一下、 jar包下载: commons.io这是Apache公司编写的一个工具类,为了方便我就把这个jar包放到下面了。 链接:https://pan.baidu.com/s/1cUdI72F
阅读全文
摘要:Calendar类: java.util.Calendar; protected Calendar() :由于修饰符是protected,所以无法直接创建该对象。需要通过别的途径生成该对象 Calendar类的常用方法: static Calendar getInstance() 使用默认时区和区域
阅读全文