04 2021 档案

java 图形化小工具Abstract Window Toolit 常用组件
摘要:基本组件 Button: 按钮,可接受单击操作 Canvas: 用于绘图的画布 Checkbox: 复选框组(也可变成单选框组件) CheckboxGroup: 用于将多个checkbox组件组合成一组,一组Checkbox组件将只有 一个可以被选中,全部变成单选框组件 Choice: 下拉式选择框 阅读全文

posted @ 2021-04-30 15:46 zhangmingda 阅读(86) 评论(0) 推荐(0) 编辑

java 图形化小工具Abstract Window Toolit ;布局管理器FlowLayout流式布局;BorderLayout边界布局;GridLayout网格布局;CardLayou重叠卡片布局;BoxLayout方框布局;绝对定位
摘要:1、FlowLayout流式布局管理器: FlowLayout布局管理器中,组件像水流一样向某方向流动(排列),遇到障碍(边界)就折回,重头开始排列 。在默认情况下,FlowLayout局管理器从左向右排列所有组件,遇到边界就会折回下一行重新开始。 import java.awt.*; import 阅读全文

posted @ 2021-04-30 15:43 zhangmingda 阅读(191) 评论(0) 推荐(0) 编辑

java 图形化小工具Abstract Window Toolit
摘要:老掉牙的历史 Java1.0在发布的时候,就为我们提供了GUI操作的库,这个库系统在所有的平台下都可以运行,这套基本的类库被称作抽象窗口工具集(Abstract Window Toolit),简称AWT。它为Java应用程序提供基本的图形组件。AWT是窗口框架,它从不同平台的窗口系统中抽取出共同组件 阅读全文

posted @ 2021-04-29 16:16 zhangmingda 阅读(215) 评论(0) 推荐(0) 编辑

java 多线程 发布订阅模式:发布者java.util.concurrent.SubmissionPublisher;订阅者java.util.concurrent.Flow.Subscriber
摘要:1,什么是发布订阅模式? 在软件架构中,发布订阅是一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如 阅读全文

posted @ 2021-04-28 17:54 zhangmingda 阅读(1209) 评论(0) 推荐(0) 编辑

java 多线程 集合的包装方法Collections.synchronizedXXXXX;线程安全的集合类:Java.util.concurrent.ConcurrentXXX;java.util.concurrent.CopyOnWriteXXXX
摘要:问题:ArrayList 等线程不安全 当多线程并发修改一个集合数据时,可能同一个下标位置被覆盖。 示例代码: 一个List,我们创建10个线程,每个线程往这个List中添加1000条数据,结果往往不是预期的10000个大小: import java.util.ArrayList; import j 阅读全文

posted @ 2021-04-28 16:13 zhangmingda 阅读(185) 评论(0) 推荐(0) 编辑

java 多线程 线程池:多核CPU利用ExecutorService newWorkStealingPool; ForkJoinPool线程池 执行可拆分的任务RecursiveAction;RecursiveTask
摘要:1,给定并行级别: 1,ExecutorService newWorkStealingPool(int parallelism): 创建持有足够的线程的线程池来支持给定的并行级别,该方法还会使用多个队列来减少竞争 2,ExecutorService newWorkStealingPool(): 该方 阅读全文

posted @ 2021-04-27 18:17 zhangmingda 阅读(1203) 评论(0) 推荐(0) 编辑

java 多线程:线程池的使用Executors~ExecutorService; newCachedThreadPool;newFixedThreadPool(int threadNum);ScheduledExecutorService
摘要:1,为什么要使用线程池:Executors 系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互。在这种情形下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。 线程池在系统启动时即创建大量空闲的线程,程序将Runnable对象或Calla 阅读全文

posted @ 2021-04-26 22:58 zhangmingda 阅读(358) 评论(0) 推荐(0) 编辑

java 多线程 线程组ThreadGroup;多线程的异常处理。interrupt批量停止组内线程;线程组异常处理
摘要:1,线程组定义: 线程组存在的意义,首要原因是安全。java默认创建的线程都是属于系统线程组,而同一个线程组的线程是可以相互修改对方的数据的。但如果在不同的线程组中,那么就不能“跨线程组”修改数据,可以从一定程度上保证数据安全。默认情况下,我们创建的线程都在系统线程组,不过我们可以自定义自己的线程组 阅读全文

posted @ 2021-04-26 16:23 zhangmingda 阅读(329) 评论(0) 推荐(0) 编辑

java 多线程:线程安全问题,示例DateFormat多线程执行冲突解决方案ThreadLocal、方法内变量
摘要:SimpleDateFormat多线程中执行报错 java.lang.NumberFormatException: For input string: "" import java.text.DateFormat; import java.text.ParseException; import ja 阅读全文

posted @ 2021-04-26 15:49 zhangmingda 阅读(271) 评论(0) 推荐(0) 编辑

java 多线程,单例模式类(创建对象)最优写法
摘要:单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需 阅读全文

posted @ 2021-04-26 12:41 zhangmingda 阅读(475) 评论(0) 推荐(0) 编辑

java 多线程Thread 子类 定时器Timer
摘要:定时器Timer, 定时器分类: 1,指定时间指定任务(明天早上8点准时提醒我起床),相当于linux里面的at命令 2,周期性的执行任务(每隔三分钟闹钟响一次),相当于Linux里面的cron命令 JAVA中使用定时器: 1,Timer,Timer在JAVA中相当于一个任务队列,可以指定在什么时候 阅读全文

posted @ 2021-04-26 11:37 zhangmingda 阅读(348) 评论(0) 推荐(0) 编辑

java 多线程 读写互斥锁ReentrantReadWriteLock:读读不互斥,读写互斥,写写互斥
摘要:ReentrantReadWriteLock: 类ReentrantLock具有相互互斥的排他效果,也就是说,同一时间,只有一个线程执行lock()方法后面的任务。这样做虽然可以解决问题,但是效率非常低。使用ReentrantReadWriterLock可以加快运行效率,某些不需要操作实例变量的方法 阅读全文

posted @ 2021-04-25 22:52 zhangmingda 阅读(527) 评论(0) 推荐(0) 编辑

java 多线程: Thread 锁ReentrantLock 常用方法
摘要:注意 reentrantLock 和 同步代码块儿一样,同一个时刻只能一个线程获取锁,也就是共用锁的代码块部分,线程是顺序执行的 ReentrantLock 常用方法 getHoldCount获取当前线程被锁定的次数,如果调用unlock,锁定次数会减去1: lock.getQueueLength( 阅读全文

posted @ 2021-04-25 20:06 zhangmingda 阅读(316) 评论(0) 推荐(0) 编辑

java 多线程 Thread 锁ReentrantLock;Condition等待与通知;公平锁
摘要:1,介绍: import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; 在JAVA的多线程编程中,我们可以使用synchronized关键字来实现线程之间的同步互斥,但是JDK1.5 阅读全文

posted @ 2021-04-24 22:47 zhangmingda 阅读(150) 评论(0) 推荐(0) 编辑

java 多线程 Thread.join子线程结束父线程再运行;join(long):等待超时毫秒数
摘要:Join的使用 目的:当子线程运行结束后,父线程才能再继续运行 /** * @ClassName ThreadJoinExample * @projectName: object1 * @author: Zhangmingda * @description: XXX * date: 2021/4/2 阅读全文

posted @ 2021-04-24 21:53 zhangmingda 阅读(185) 评论(0) 推荐(0) 编辑

java 多线程 :ThreadLocal 共享变量多线程不同值方案;InheritableThreadLocal变量子线程中自定义值,孙线程可继承
摘要:ThreadLocal类的使用 变量值的共享可以使用public static变量的形式,所有的线程都是用同一个public static变量。如果想实现每一个线程都有自己的值。该变量可通过ThreadLocal实现 定义:ThreadLocal<T> name = new ThreadLocal< 阅读全文

posted @ 2021-04-24 20:15 zhangmingda 阅读(306) 评论(0) 推荐(0) 编辑

java 多线程:线程通信-等待通知机制wait和notify方法;(同步代码块synchronized和while循环相互嵌套的差异);管道通信:PipedInputStream;PipedOutputStream;PipedWriter; PipedReader
摘要:1、等待通知机制: 等待通知机制的原理和厨师与服务员的关系很相似: 1,厨师做完一道菜的时间不确定,所以厨师将菜品放到“菜品传递台”上的时间不确定 2,服务员什么时候可以取到菜,必须等到厨师做完之后放到菜品传递台上才行。所以,服务员会等待厨师。 3,厨师做完菜之后放到菜品传递台上,就相当于通知了服务 阅读全文

posted @ 2021-04-23 16:20 zhangmingda 阅读(169) 评论(0) 推荐(0) 编辑

java IO操作和计算操作:工作内存和主内存 volatile关键字作用;原子操作对象AtomicInteger ....
摘要:应该停止但无法停止的计算线程 如下线程示例,线程实例中while循环中的条件,在主线程中通过调用实例方法更新后,while循环并没有更新判断变量是否还成立。而是陷入了while(true)死循环. import javafx.scene.paint.Stop; /** * @ClassName Th 阅读全文

posted @ 2021-04-22 22:57 zhangmingda 阅读(102) 评论(0) 推荐(0) 编辑

java 多线程:线程死锁,如何判断程序是否有死锁代码块儿
摘要:线程死锁 死锁是指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去(百度百科)。 代码示例: /** * @ClassName ThreadDeadLock * @projectName: object1 * @author: 阅读全文

posted @ 2021-04-22 20:23 zhangmingda 阅读(274) 评论(0) 推荐(0) 编辑

java 多线程: Thread 并发访问-代码块同步synchronized {};String作为被锁的对象
摘要:方法同步的弊端 方法同步的时候,如果一个方法需要线程安全控制的代码速度其实很快,但是还有其他的业务逻辑代码耗时非常长(比如网络请求),这样所有的线程就在这一块就等待着了,这样造成了极大的资源浪费如果并发量很大,可能会造成系统崩溃。(并发的线程遇到synchronized同步的方法,变成串行....) 阅读全文

posted @ 2021-04-22 19:15 zhangmingda 阅读(190) 评论(0) 推荐(0) 编辑

java 多线程:Thread 并发线程: 方法同步synchronized关键字,与static的结合
摘要:1、方法内的变量是安全的 方法内定义的变量,每个变量对应单独的内存变量地址,多个线程之间相互不影响。多个线程之间的变量根本没有一毛钱关系 public class ThreadFuncVarSafe { public static void main(String[] args) { Runnabl 阅读全文

posted @ 2021-04-22 13:36 zhangmingda 阅读(392) 评论(0) 推荐(0) 编辑

java 多线程:Thread类常用方法:setPriority优先级、interrupt中断标记、suspend暂停与唤醒resume(已过时);daemon守护线程
摘要:常用方法: boolean isAlive() 测试此线程是否存活。 boolean isDaemon() 测试此线程是否为守护程序线程。 static void sleep?(long millis) 导致当前正在执行的线程休眠(暂时停止执行)指定的毫秒数,具体取决于系统计时器和调度程序的精度和准 阅读全文

posted @ 2021-04-21 19:09 zhangmingda 阅读(418) 评论(0) 推荐(0) 编辑

java 多线程:线程安全问题synchronized关键字解决
摘要:背景: 多个线程同时修改一个变量时,有概率导致两次修改其中某些次被覆盖。 例如:如下案例一个变量值为3,三个线程同时对其-1,如果按顺序执行,每次减完的结果应该是2,1,0。但实际运行中有可能变为0,0,0 ;0 1 1 等情况 /** * @ClassName VarNotSafe * @proj 阅读全文

posted @ 2021-04-20 11:26 zhangmingda 阅读(296) 评论(0) 推荐(0) 编辑

java 多线程:Callable接口;FutureTask类实现对象【Thread、Runnable、Callable三种方式实现多线程的区别】
摘要:Callable接口介绍: Java5开始,Java提供了Callable接口,像是Runnable接口的增强版,Callable接口提供了一个 call()方法可以作为线执行体. call()方法比run()方法功更强大。call()方法可以有返回值,call()方法可以抛出异常 实现方法: 创建 阅读全文

posted @ 2021-04-19 17:35 zhangmingda 阅读(118) 评论(0) 推荐(0) 编辑

java 多线程:Thread类;Runnable接口
摘要:1,进程和线程的基本概念: 1.什么是进程: 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数 阅读全文

posted @ 2021-04-19 16:32 zhangmingda 阅读(226) 评论(0) 推荐(0) 编辑

java 输入输出 对象序列化implements Serializable与反序列化:ObjectOutputStream.writeObject() ;objectInputStream.readObject() ;serialVersionUID字段注意
摘要:对象序列化 对象序列化的目标是将对象保存到磁盘中,或允许在网络中直接传输对象。对象序列化机制允许把内存中的 Java 对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,通过网络将这种二进制流传输到另1个网络节点。其他程序一旦获得了这种二进制流(无论是从磁盘中获取的,还是通过网络 阅读全文

posted @ 2021-04-18 22:32 zhangmingda 阅读(144) 评论(0) 推荐(0) 编辑

java 输入输出IO流 RandomAccessFile文件的任意文件指针位置地方来读写数据
摘要:RandomAccessFile的介绍: RandomAccessFile是Java输入输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据。与普通的输入/输出流不同的是,RandomAccessFile 支持"随机访问"的方式,程序可 阅读全文

posted @ 2021-04-18 20:55 zhangmingda 阅读(308) 评论(0) 推荐(0) 编辑

java 输入输出IO流:标准输入/输出System.in;System.out;System.err;【重定向输入System.setIn(FileinputStream);输出System.setOut(printStream);】
摘要:Java的标准输入输出分别通过System.in和System.out来代表的,在默认情况下它分别代表键盘和显示器,当程序通过System.in来获取输入时,实际上是从键盘读取输入 当程序试图通过 System.out 执行输出时,程序总是输出到屏幕: 从System类的源码可以看出in;out;e 阅读全文

posted @ 2021-04-18 17:07 zhangmingda 阅读(368) 评论(0) 推荐(0) 编辑

java 输入输出IO 转换流-字符编码
摘要:编码和其产生的问题: 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。 按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码 。 比如说,按照A规则存储,同样按照A规则 阅读全文

posted @ 2021-04-18 16:35 zhangmingda 阅读(545) 评论(0) 推荐(0) 编辑

java 输入输出IO流 字节流| 字符流 的缓冲流:BufferedInputStream;BufferedOutputStream;BufferedReader(Reader in);BufferedWriter(Writer out)
摘要:什么是缓冲流: 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。 图解: 1、字节缓冲流BufferedInputStream;BufferedOutputStream: public BufferedInputStre 阅读全文

posted @ 2021-04-18 14:08 zhangmingda 阅读(91) 评论(0) 推荐(0) 编辑

java 输入输出IO流 IO异常处理try(IO流定义){IO流使用}catch(异常){处理异常}finally{死了都要干}
摘要:IO异常处理 之前我们写代码的时候都是直接抛出异常,但是我们试想一下,如果我们打开了一个流,在关闭之前程序抛出了异常,那我们还怎么关闭呢?这个时候我们就要用到异常处理了。 try-with-resource语句: 确保在异常出现后 打开的流能自动关闭,无需单独再写.close()流关闭语句。 语法: 阅读全文

posted @ 2021-04-17 22:09 zhangmingda 阅读(592) 评论(0) 推荐(0) 编辑

java 输入输出IO流 字符流 FileWriter FileReader
摘要:为什么要使用字符流 当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文件。 Writer Writer抽象类是表示用于写出字符流的所有类的超类,将 阅读全文

posted @ 2021-04-17 21:15 zhangmingda 阅读(107) 评论(0) 推荐(0) 编辑

java 输入输出IO流:FileOutputStream FileInputStream
摘要:什么是IO: 生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了 ctrl+s ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。 我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方 阅读全文

posted @ 2021-04-17 16:05 zhangmingda 阅读(308) 评论(0) 推荐(0) 编辑

java File 类对操作系统文件目录进行操作:增删查
摘要:File类 1,概述 File类是java.io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成。 2,构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。 publ 阅读全文

posted @ 2021-04-17 09:46 zhangmingda 阅读(233) 评论(0) 推荐(0) 编辑

java 数据类型String 【正则表达式】匹配工具 Pattern和Matcher
摘要:Pattern和Matcher的介绍: Pattern对象是正则表达式编译后在内存中的表示形式,因此正则表达式宇符串必须先被编译为Pattern对象,然后再用该Pattern对象创建对应的Matcher对象,执行匹配所涉及的状态保留在 Matcher 对象中 多个 Matcher 对象可共享同 Pa 阅读全文

posted @ 2021-04-14 22:56 zhangmingda 阅读(864) 评论(0) 推荐(0) 编辑

java 数据类型String 【正则表达式】匹配
摘要:1,什么是正则表达式 正则表达式是用来处理字符串的,其实正则表达式是非常复杂的,专门去系统学习需要花很长的时间,我们课程主要就是把常用的基础的给大家讲解。 正则表达式可以用来干什么: (1),匹配字符串:比如用户在数据框中输入了一个数据,我们要来检测这个数据是不是纯数字,是不是邮箱或者是不是电话号码 阅读全文

posted @ 2021-04-14 19:09 zhangmingda 阅读(3368) 评论(0) 推荐(0) 编辑

java 数据类型:集合接口Collection之 Stream 的reduce方法
摘要:Stream 的reduce递归计算 import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Stream; /** * @ClassName Stream 阅读全文

posted @ 2021-04-12 23:10 zhangmingda 阅读(380) 评论(0) 推荐(0) 编辑

java 数据类型:Stream流 对象转换为集合collect(Collectors.toList()) ;常用方法count,limit,skip,concat,max,min
摘要:集合对象.stream() 获取流对象,对元素批处理(不改变原集合) 集合元素循环除了用for循环取出,还有更优雅的方式.forEach 示例List集合获取Stream对象进行元素批处理 import java.util.ArrayList; import java.util.List; /** 阅读全文

posted @ 2021-04-11 22:29 zhangmingda 阅读(6263) 评论(0) 推荐(0) 编辑

java 数据类型:<泛型>在方法中和在构造器中的应用
摘要:背景: Java不允许我们把对象放在一个未知的集合中。 import java.util.ArrayList; import java.util.List; /** * @ClassName MethodTest * @projectName: object1 * @author: Zhangmin 阅读全文

posted @ 2021-04-11 21:44 zhangmingda 阅读(229) 评论(0) 推荐(0) 编辑

java数据类型:集合存储元素类型限制<泛型> ;自定义类指定泛型<T> 以及限制用法;派生子类泛型<T> super(泛型内参数); 泛型通配符?以及?限制用法
摘要:问题背景 Java 集合有个缺点,把一个对象"丢进"集合里之后,集合就会"忘记"这个对象的数据类型,当再次取出该对象时 该对象的编译类型就变Object类型(其运行时类型没变),Java集合之所以被设计成这样,是因为集合的设计者不知道我们会用集合来保存什么类型的对象所以他们把集合设计成能保存任何类型 阅读全文

posted @ 2021-04-11 12:28 zhangmingda 阅读(1125) 评论(0) 推荐(0) 编辑

java 集合Collections 工具类:排序,查找替换。Set、List、Map 的of方法创建不可变集合
摘要:Collections 工具类 Java 提供1个操作 Set List Map 等集合的工具类 Collections ,该工具类里提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了将集合对象设置为不可变、对集合对象实现同步控制等方法。 用法:直接调用Collections.静态方法(< 阅读全文

posted @ 2021-04-11 10:18 zhangmingda 阅读(1067) 评论(0) 推荐(0) 编辑

Java 数据类型:集合接口Map:HashTable;HashMap;IdentityHashMap;LinkedHashMap;Properties类读取配置文件;SortedMap接口和TreeMap实现类:【线程安全的ConcurrentHashMap】
摘要:Map集合java.util.Map Map用于保存具有映射关系的数据,因此Map集合里保存着两个值,一个是用于保存Map里的key,另外一组值用于保存Map里的value。key和value都可以是任何类型的数据。 在Map中,Key是不允许重复的。key和value之间存在一对一的关系,也就是说 阅读全文

posted @ 2021-04-10 23:02 zhangmingda 阅读(164) 评论(0) 推荐(0) 编辑

java 数据类型:ArrayList;LinkList性能分析
摘要:各种线性表的性能分析。 java提供的List就是一个线性表接口,ArrayList和LinkedList是线性表的两种实现。基于数组的线性表和基于链表的线性表。 一般来说,我们无需理会ArrayList和LinkedList之间的性能差异,只需要知道LinkedList集合不仅提供了List的功能 阅读全文

posted @ 2021-04-10 19:41 zhangmingda 阅读(248) 评论(0) 推荐(0) 编辑

java 数据类型:集合接口Collection之队列Queue:PriorityQueue ;Dequeue接口和ArrayDeque实现类:
摘要:什么是Queue集合: Queue用于模拟队列这种数据结构,队列通常是“先进先出”(FIFO)的容器。队列的头部保存在队列中存放时间最长的元素,尾部保存存放时间最短的元素。 Queue接口定义了如下几个方法: void add(Object e):将制定的元素加入队列的尾部 Object eleme 阅读全文

posted @ 2021-04-10 17:31 zhangmingda 阅读(389) 评论(0) 推荐(0) 编辑

java 数据类型:集合接口Collection之List~ArrayList:remove移除;replaceAll改变原有值;sort排序;迭代器listIterator();
摘要:什么是List集合: 特点: 元素有序可重复的集合。 集合中每个元素都有其对应的顺序索引。 List集合默认按元素的添加顺序设置元素的索引,索引从0开始。 List接口的常用方法: List可以使用Collection的所有方法。但是List也有自己的一些方法。 void add(int index 阅读全文

posted @ 2021-04-10 14:27 zhangmingda 阅读(276) 评论(0) 推荐(0) 编辑

Java 数据类型:集合接口Collection之Set接口HashSet类;LinkedHashSet;TreeSet 类
摘要:Collection 之 Set 实现类: HashSet TreeSet 特点: 无序。 元素不可重复。 (如果试图添加一个已经有的元素到一个Set集合中,那么会添失败,add()方法返回false,且新元素不会被加入) HashSet: HashSet是Set接口的典型实现,大多数我们就是用的这 阅读全文

posted @ 2021-04-09 13:27 zhangmingda 阅读(152) 评论(0) 推荐(0) 编辑

java 数据类型:集合接口Collection之常用ArrayList;lambda表达式遍历;iterator遍历;forEachRemaining遍历;增强for遍历;removeIf批量操作集合元素(Predicate);
摘要:java.util.Collection接口 Java的集合主要由两个接口派生出来,一个是Collection一个是Map,本章只记录Collection常用集合 集合只能存储引用类型数据,不能存储基本类型数据 集合类是一种特别有用的工具类,它可以存放数量不等的对象,实现常用的数据结构,如栈,队列等 阅读全文

posted @ 2021-04-08 20:11 zhangmingda 阅读(390) 评论(0) 推荐(0) 编辑

java 常用类库:格式化NumberFormat;SimpleDataFormat类(转换Data()对象);DateTimeFormatter 转换LocalDateTime时间对象
摘要:NumberFormat类 该类是一个做数字格式化的类,它是一个抽象类,无法实例化。它提供了parse()和format()方法,其中format用于将数值,格式转化成字符串,parse()用于把字符串转化成数值,日期。 NumberFormat提供了四个方法,来获取对应的子类: (1),Numbe 阅读全文

posted @ 2021-04-08 08:49 zhangmingda 阅读(595) 评论(0) 推荐(0) 编辑

java 常用类库:时间类LocalDate;LocalTime;LocalDateTime;Calendar 类;Date ;
摘要:LocalDate类 LocalDate类代表不带时区的日期,列入2020-12-20。该类提供了静态的now()方法来获取当前的日期。这个类是线程安全的。 LocalTime类 代表不带时区的时间,例如10:20:30。该类提供了静态的now()方法来获取来获取当前的时间。这个类是线程安全的。 L 阅读全文

posted @ 2021-04-07 19:48 zhangmingda 阅读(407) 评论(0) 推荐(0) 编辑

java 常用类库:BigInteger大整数;BigDecimal大小数(解决double精度损失);
摘要:大整数BigInteger package com.zmd.common_class_libraries; import java.math.BigInteger; /** * @ClassName BigNumberExample * @projectName: object1 * @author 阅读全文

posted @ 2021-04-07 15:00 zhangmingda 阅读(151) 评论(0) 推荐(0) 编辑

java 常用类库:Math:常用min、max;floor;ceil;random;
摘要:Math //7、取整数小于目标的最大整数(Math.floor(1.2));//8、取整数、获取大于目标的最大整数System.out.println(Math.ceil(1.2)); //18、获取0~1之间的伪随机数 System.out.println(Math.random()); pac 阅读全文

posted @ 2021-04-07 14:11 zhangmingda 阅读(226) 评论(0) 推荐(0) 编辑

java 常用类库:String ; StringBuilder和StringBuffer类
摘要:1. String 1、String对象是不可变的 String类的value属性是用来存放字符串里面的值的。这个属性是被final修饰的。final修饰的变量不能够被第二次赋值,所以字符串是不可变的。 2、java9 以后的String更节约空间,每个字符占用1个字节 String类型在java9 阅读全文

posted @ 2021-04-07 09:05 zhangmingda 阅读(115) 评论(0) 推荐(0) 编辑

java 常用类库:Object类和Objects类
摘要:1,Object类: Object类是所有的类,数组,枚举的父类,也就是说,JAVA中允许把任何的对象赋值给Object类(包括基础数据类型),当定义一个类的时候,没有使用extends关键字显示指定父类的时候,默认集成Object类。因为所有类都是Object的子类,所以所有的对象都可以调用Obj 阅读全文

posted @ 2021-04-06 19:58 zhangmingda 阅读(532) 评论(0) 推荐(0) 编辑

java 常用类库:操作系统System类,运行时环境Runtime
摘要:System类: System 类代表Java程序的运行平台,程序不能创建System类的对象, System类提供了一些类变量和类方法,允许直接通过 System 类来调用这些类变量和类方法。 System 类提供了代表标准输入、标准输出和错误输出的类变量,并提供了一些静态方法用于访问环境变量、系 阅读全文

posted @ 2021-04-06 19:16 zhangmingda 阅读(251) 评论(0) 推荐(0) 编辑

Java 常用类库一,main方法传参String[] args;获取输入Scanner ;hasNext();hasNextInt()
摘要:1. main方法传参 package com.zmd.common_class_libraries; /** 给mian方法传参测试 */ public class MainArgsTest { public static void main(String[] args) { System.out 阅读全文

posted @ 2021-04-06 17:48 zhangmingda 阅读(337) 评论(0) 推荐(0) 编辑

Java的垃圾回收机制:强制回收System.gc() Runtime.getTime().gc()
摘要:垃圾回收 当引用类型的实体,如对象、数组等不再被任何变量引用的时候。这块占用的内存就成为了垃圾。JVM会根据自己的策略决定是回收内存 注意: 垃圾回收只回收内存中的对象,无法回收物理资源(数据库连接,网络IO等) 程序无法精确的控制台垃圾回收的运行,垃圾回收汇总任何时候进行,系统自动。 在垃圾回收机 阅读全文

posted @ 2021-04-06 09:05 zhangmingda 阅读(1256) 评论(0) 推荐(0) 编辑

java 数据类型:枚举类enum、对比方法compreTo()、获取名字.name()、获取对应值的枚举类Enum.valueOf()、包含构造方法和抽象方法的enum;实现接口;
摘要:问题引入 为了将某一数据类型的值限定在可选的合理范围内,比如季节只有四个:春夏秋冬。 什么是枚举类 Java5之后新增了enum关键字(他与class,interface关键字地位相同)用来定义枚举类,他是一个特殊的类。 可以有自己的:成员变量、方法、构造器。可以实现一个或多个接口。 一个Java源 阅读全文

posted @ 2021-04-05 15:55 zhangmingda 阅读(911) 评论(0) 推荐(0) 编辑

导航