SE
一天3顿饭
一个刚开始fighti的程序猿
展开
-
IDEA Java打jar包流程图解,以及创建.bat文件
java 打jar包流程使用IDEA打自己用的jar包流程步骤一:步骤二:然后在接下来出现的窗口中,重命名jar包名称。最重要的是要构建jar包,不然jar包就出不来。构建完成,就要指定的文件中,将jar包复制到指定地方,可以在DOS命令窗口运行了这样打jar包就完成。如果你想使用.bat运行jar包,那就创建一个txt文本,里面写入dos命令和jar包的名称,最后将文件后缀改为.bat。这样就可以直接运行称,最后将文件后缀改为.ba原创 2020-07-02 16:33:39 · 873 阅读 · 0 评论 -
Stream流
JDK1.8新特性Stream流操作的是集合或者数组(容器中的元素)。它的出现为了我们更方便的对集合的元素操作。使用步骤获取stream流创建集合,通过集合中的方法获取stream流。创建数组,通过数组来获取流通过Steram流中的静态方法of()获取.中间环节操作不会对原有集合改变,会得到新的流。对集合操作的方法过滤方法:Filter(),去掉重复:distinck()方法。此类需要重写hashcode()和equals()方法.截取部分元素:原创 2020-06-25 16:51:03 · 148 阅读 · 0 评论 -
JDK1.8新的日期类,Lambda表达式
JDK1.8新特性时间日期类新增一套新的时间日期APIDate,Calender的时间日期可能出现线程不安全,因此就出现了新的日期类LocalDate:表示年月日的类LocalTime:时分秒的类LocalDateTmie:年月日,时分秒的类Instant类:获取从1970.1.1.零时到现在的美国时区的毫秒值得到的时间是美国时区,我们可以设置偏移量。时区编号类:ZoneId类,可以获取时区注意细节:如果用LocalDateTime 想按照我们的自定义的格式去解析,注原创 2020-06-24 22:47:29 · 260 阅读 · 0 评论 -
反射机制/动态代理/枚举/类的加载过程
类的加载概述概述:当一个程序要使用一个类的时候,如果这个类还没有被加载过,那就先加载这个类,类的加载过程,加载机理是使用双亲委派模型加载:双亲委托模型的工作过程是:如果一个类加载器(ClassLoader)收到了类加载的请求,它首先不 会自己去尝试加载这个类,而是把这个请求委托给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中,只有当父类加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需要加载的类)时,子加载器才会尝试自己去加载。原创 2020-06-19 21:19:03 · 654 阅读 · 0 评论 -
网络编程基础,套接字编程
2020.6.8 课堂笔记网络编程网络编程三要素IP地址:网络中设备的唯一标识,可用主机名。端口号:用于标识进程的逻辑地址,区分不同应用程序之间的标识。(端口范围0-65535,0-1023被系统资源占用)。端口"是0到65535之间的一个整数,正好16个二进制位。0到1023的端口被系统占用,用户只能选用大于1023的端口。不管是浏览网页还是在线聊天,应用程序会随机选用一个端口,然后与服务器的相应端口联系。传输协议:通讯的规则TCP/UDP协议。UDP:特点:通信两端不需要建立原创 2020-06-17 20:14:34 · 148 阅读 · 0 评论 -
线程通信,CAS算法,Java内存模型,线程池的概念,定时器和定时任务,单例设计模式
2020.6.6课堂笔记多线程不同种类线程之间的通信问题(线程的一个等待唤醒机制)Object类的wait():线程等待wait(long l):设置时间notify():线程唤醒notifyall():唤醒所有线程wait()和sleep()的区别共同点:都使线程处于阻塞状态区别点:wait();可以设置时间,也可以不设置时间,sleep():必须设置时间。sleep一旦休眠不释放锁,wait一旦休眠就会释放锁案例package org.westos.de原创 2020-06-11 20:15:16 · 107 阅读 · 0 评论 -
多线程线程安全问题,死锁,Lock接口的基本知识
2020.6.6课堂笔记多线程线程安全几个窗口同时卖票,卖票时出现一些不合理的票数据。出现0票或负票原因:由于线程的随机性出现相同票:线程的原子性所导致(内存模型会讲解)例如[ piao- -就是多个语句,不是原子性操作]。出现线程安全的问题的要符合三个条件(不满足这几个条件的不会出现线程安全)多线程环境多个线程共享数据多条语句操作共享变量(实际代码中,我们可以改变的位置,来保证线程安全)解决方式:把有可能出现数据安全的代码,使用同步代码块包裹同步代码块语法:synchro原创 2020-06-11 14:56:35 · 156 阅读 · 0 评论 -
多线程--开启线程的三种方法,线程/进程概念,
2020.5.31多线程什么是单线程,代码的执行路径只有一条路径。缺点:有可能某个代码耗时时间长需要等待,其他程序不能进行,用户感觉差。多线程:代码的执行路径有多条,这种执行环境称之为多线程环境。一般在支线程运行耗时代码。线程的概述线程依赖进程,没有进程也就谈不上线程。进程开启之后就会执行很多任务,每个任务就是一个线程。线程是CPU调度的基本单位。我们Java编程,就是线程编写,因为虚拟机就是进程,不能在虚拟机里面运行进程。只能在虚拟机里面运行线程。意义:多线程提高对CPU的使用率原创 2020-06-05 17:21:01 · 1444 阅读 · 0 评论 -
数据输出流/内存操作流/打印流/随机访问流/序列化和反序列化/属性集合(Properties)/SequenceInputStream
2020.5.30 课堂笔记数据输入输出流DateInputStream数据输入流: 构造方法:DataInputStream(InputStream in).DateOutputStream数据输出流:构造方法:DataOutputStream(OutputStream out).可以读写java的基本数据类型,是将基本类型的数据读取到字节数组中输出到文件里面的信息可能是乱码,可以通过读取在窗口显示。因此在读取数据时要保持顺序一致,即输出的是Boolean类型,输入也要布尔类型。代码p原创 2020-06-05 11:04:19 · 140 阅读 · 0 评论 -
字符流InputStreamReader/OutputStreamWriter,便捷字符流,高效字符流及特有方法
2020.5.25字符流为了方便操作中文字符,提供了字符流。字符流=字节流+码表注意:字符流只能操作文本文件。编码:以某种编码方式将字符串转换成字节数组。解码:将字节数组以某种编码转化成字符串。编码和解码都可以指定码表或者使用默认的码表。我们在编码和解码的时候使用同一个码表,就不会出现乱码。不一致可能出现乱码。字符流要刷新才能写入。如果在最终才close(),关闭并刷新。写的东西多了,最后再刷新可能会比较慢。字符流的追加写入:在传入的字节流中给出追加写入原创 2020-05-28 19:06:35 · 332 阅读 · 0 评论 -
IO字节流,高效字节流BufferedInputStream/BufferedOutputStream,单级/多级文件夹的复制
2020.5.24 课堂笔记IO流用来处理设备之间的数据传输。分为:输入流和输出流字节流:可以操作任意类型的文件(图片,音频等等)字符流:只能操作文本文件。FileOutPutStream创建一个文件输出流,来关联一个文件,当关联的文件不存在,就会创建文件。往文件中写入数据:write(int b):一次写入一个字节,如果超过字节范围,就会丢弃掉部分数据。write(byte [] a):一次写入一个字节数组write((byte [] a,int原创 2020-05-28 18:56:54 · 228 阅读 · 0 评论 -
异常机制,File类,throw和throws的区别
2020.05.23课堂笔记异常机制什么是IO流(InputStream ,OutputStream,输入输出流 )在Java中IO流用于设备之间的数据传输。我们在下载或者上传途中出现问题,那就需要我们解决。Java中遇到问题有一个类来描述,Throwable类Throwable:问题或者错误的父类Exception:描述一般性问题异常编译期异常:发生在编译期间(非RuntimeException及其子类)处理方式一:使用关键字throws,向上抛出,抛给调用者处理,原创 2020-05-28 18:55:08 · 128 阅读 · 0 评论