![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
韵冰
这个作者很懒,什么都没留下…
展开
-
maven把本地包加到maven本地仓库
安装指定文件到本地仓库命令:mvn install:install-file2-DgroupId= : 设置项目代码的包名(一般用组织名)3-DartifactId= : 设置项目名或模块名4-Dversion=3.0.1 : 版本号5-Dpackaging=jar : 什么类型的文件(jar包)6-Dfile=<myfi...原创 2020-02-27 17:54:17 · 228 阅读 · 0 评论 -
反射
只知道类名,就可以得到类的属性,构造方法,方法,还可以创建对象在配置文件中说明类名增强可扩展性import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;public class Reflect { public static void ...原创 2019-11-01 17:21:24 · 98 阅读 · 0 评论 -
正则表达式的匹配,切割,替换,获取
import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexFunctionDemo { public static void main(String[] args) { //1.匹配 //使用String类的matches方法,匹配是bool...原创 2019-11-01 13:54:35 · 175 阅读 · 0 评论 -
浏览器访问相关
import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.net.Socket;import java.net.URL;import java.net.URLConnection;public class MyBrowser { public sta...原创 2019-10-31 21:26:57 · 516 阅读 · 0 评论 -
实现并发访问上传图片的服务器
UploadPictureServer.javaimport java.io.*;import java.net.ServerSocket;import java.net.Socket;public class UploadPictureServer { public static void main(String[] args) throws IOException { ...原创 2019-10-31 17:54:35 · 300 阅读 · 0 评论 -
TCP的客户端和服务端
TCP服务端import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class TCPServer { public static void main(String[] args) throws IOException { /* 获取客户端的数据并显示...原创 2019-10-31 11:15:31 · 396 阅读 · 0 评论 -
UDP发送端和接收端
UDP发送端import java.io.IOException;import java.net.*;public class UDPClient { public static void main(String[] args) throws IOException { System.out.println("UDP 发送端 run"); /*...原创 2019-10-30 13:27:04 · 1028 阅读 · 0 评论 -
对象的序列化和反序列化
序列化接口的作用:没有方法,不需要覆盖,是一个标记接口为了启动一个序列化功能唯一作用,给每一个需要序列化的类都分配一个serialVersionUID 的版本号这个版本号和该类相关联.这个版本号的作用:在反序列过程中用于验证序列化对象的发送者和接收者是否为该对象加载流于序列化兼容的类.如果不同,则会导致InvalidClassException是用于验证的import java.io....原创 2019-10-29 16:42:00 · 127 阅读 · 0 评论 -
记录程序运行次数
import java.io.*;import java.util.Properties;public class AppCountTest { public static void main(String[] args) throws IOException { /* 定义功能记录程序运行次数,满足试用次数后,提示试用次数已到,请注册. ...原创 2019-10-29 14:57:59 · 1110 阅读 · 0 评论 -
配置文件用的类
import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Properties;import java.util.Set;public class PropertiesDemo { public sta...原创 2019-10-28 21:29:32 · 112 阅读 · 0 评论 -
IO流规律总结,常用类
字节流:FileInputStreamFileOutputStreamBufferedInputStreamBufferedOutputStream字符流:InputStreamReaderOutputStreamWriterFileReaderFileWriterBufferedReaderBufferedWriter原创 2019-10-28 17:07:52 · 116 阅读 · 0 评论 -
字符流
public class TransStreamDemo { public static void main(String[] args) throws IOException { //OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的charset将要写入流中的字符编码成字节 //作用:将字符串按照指定的编码表转成字节,再使用字节...原创 2019-10-27 18:23:53 · 91 阅读 · 0 评论 -
删除有内容的文件夹
public static void removeDir(File dir){ //传入文件夹 //1.列出当前目录下的文件及文件夹File[] File[] files = dir.listFiles[]; for(File file : files){ //2.对遍历到的file对象判断是否是目录 if(file.isDirectory()){ removeDir(fil...原创 2019-10-26 14:12:35 · 152 阅读 · 0 评论 -
字节流读取文件
InputStream:字节输入流的超类.1.read():读取一个字节并返回,没有字节返回-12.read(byte[] b):读取一定量的字节数,并存储到字节数组中,返回读取到的字节数用于读取文件的字节输入流对象,FileInputStream()public class FileInputStreamDemo { public static void main(String...原创 2019-10-26 13:30:58 · 1010 阅读 · 0 评论 -
IO异常处理
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;public class IOStreamException { public static void main(String[] args) { File file = new File("tempfile/...原创 2019-10-26 11:41:44 · 133 阅读 · 0 评论 -
字节流写入文件,续写,换行写,
java.io.OutputStream输出字节流的超类,1.操作的数据都是字节,2.定义了输出字节流的基本共性功能,3.输出流中定义的都是写write方法操作字节数组,操作单个字节import java.io.File;import java.io.FileOutputStream;import java.io.IOException;public class FileOut...原创 2019-10-26 11:21:42 · 1242 阅读 · 0 评论 -
过滤器
import java.io.File;import java.io.FileFilter;import java.io.FilenameFilter;public class FilterTest { public static void main(String[] args) { File dir = new File("/home/cll/PycharmPro...原创 2019-10-26 09:52:59 · 78 阅读 · 0 评论 -
File类
import java.io.File;public class FileDemo { private static final String FILE_SEPARATOR = System.getProperty("file.separator"); public static void main(String[] args) { /* Fil...原创 2019-10-21 17:59:31 · 58 阅读 · 0 评论 -
日期与时间,求二月的天数
import java.text.DateFormat;import java.util.Date;public class DateDemo { public static void main(String[] args) { long time = System.currentTimeMillis(); Date date = new Date(t...原创 2019-10-21 16:01:25 · 294 阅读 · 0 评论 -
System类
System:不需要实例化,都是静态的属性和方法out对应标准输出流(显示器), in属性对应键盘 Properties p = System.getProperties(); //获取所有信息// Set<String> keySet = p.stringPropertyNames();// for (S...原创 2019-10-21 12:27:45 · 75 阅读 · 0 评论 -
可变参数
public static void main(String[] args) { int sum = add(11,22,33,44); System.out.println(sum); } //同样是代表数组,但是在调用这个带有可变参数的函数时,不用创建数组 //在编译class文件时,是将这些参数先封装到一个数组中,再进行传递...原创 2019-10-21 11:43:39 · 49 阅读 · 0 评论 -
数组,集合互相转换
Arrays.asList( )数组转成集合,是为了使用集合的方法操作数组中的元素.但是不要使用增删等改变长度的方法(数组长度不可变):add,remove原创 2019-10-20 19:51:17 · 183 阅读 · 0 评论 -
解决集合不同步问题
Collections.synchronizedList(List)方法原创 2019-10-20 19:41:34 · 155 阅读 · 0 评论 -
范型通配符和限定
private static void printList(Collection<? extends Person> list){ for(Iterator<Person> it = list.iterator();it.hasNext();){ //Person p = it.next(); ...原创 2019-10-20 17:12:45 · 97 阅读 · 0 评论 -
比较器用法
import java.util.*;public class CollectionTest { public static void main(String[] args) { /** * 按字符长短进行排序 * 1.字符串之所以可以排序,是因为已经实现Comparable接口重写compareTo方法。建立了字符串的自然排序 ...原创 2019-10-20 14:44:17 · 221 阅读 · 0 评论 -
java.util.ConcurrentModeficationException解决
java.util.ConcurrentModeficationException在迭代过程中,使用了集合的方法对元素进行操作.导致迭代器并不知道集合中的变化,容易引发数据的不确定性.解决:在迭代时,不要使用集合的方法操作元素. 使用迭代器的方法操作.Iterator有一个子接口ListIterator可以完成该问题的解决获取该子接口对象:通过LIst接口中的listIterato...原创 2019-10-19 15:43:53 · 166 阅读 · 0 评论 -
Collection集合,迭代器
Collection coll = new ArrayList(); coll.add(1);//添加数据 for(Iterator it = coll.iterator();it.hasNext();){ //想要特有的方法,必须向下转型 String str = (String)it.next(); ...原创 2019-10-19 13:52:40 · 68 阅读 · 0 评论 -
包装对象的临界值
Integer x1 = 127; Integer y1 = 127; System.out.println(x1==y1);//true System.out.println(x1.equals(y1));//true //如果数值在byte范围之内,不会新创建对象空间而是使用原来已有的空间 Inte...原创 2019-10-19 10:53:16 · 68 阅读 · 0 评论 -
多生产多消费
import java.util.concurrent.locks.*;class BoundedBuffer { private final Lock lock = new ReentrantLock(); //创建监视器对象,每个监视器对象对应一个FIFO队列 private final Condition notFull = lock.newCondition(...原创 2019-10-12 14:49:18 · 70 阅读 · 0 评论 -
多态
/** 多态中,成员调用的特点* 1.成员变量* 看对象的引用是什么类型的,变量就是谁的* 2.成员函数* 编译看对象的引用的类型,运行看子类* 动态的绑定到对象上* 3.静态函数* 编译运行都看类的类型* 静态的绑定到类上* */class Fu{ int num = 3; void show(...原创 2019-09-28 12:09:47 · 62 阅读 · 0 评论 -
静态代码块,构造代码块,构造函数
1.静态代码块作用:为类初始化仅在加载类时执行一次static{ }2.构造代码块写在类中每次构造对象前执行定义不同构造函数的共性代码{ }3.构造函数给对应的对象针对性初始化执行顺序1>2>34.局部代码块写在方法中控制局部变量的生命周期{ }...原创 2019-09-28 13:06:19 · 54 阅读 · 0 评论 -
匿名内部类
interface Inter{ void show();}class Outer{ //代码补足,使用匿名内部类 public static Inter method(){ //既然在Outer类中使用到了Inter的对象,可以使用内部类来完成 //不需要子类型,只要简化格式即可,因为接口中就只有一个方法。 retur...原创 2019-10-03 11:02:23 · 84 阅读 · 0 评论 -
内部类
class Outer{ public void method(){ //以下两个对象的区别 new Object(){ public void show(){} }.show();//这个可以编译通过 Object obj = new Object(){ public voi...原创 2019-10-03 11:20:54 · 47 阅读 · 0 评论 -
创建多线程的两种方式
/*//方法一: 1.创建一个类继承Thread类 2.重写run方法 3.启动.start()class Demo extends Thread{ private String name; Demo(String name){ this.name = name; } @Override ...原创 2019-10-07 18:59:49 · 138 阅读 · 0 评论 -
线程状态
原创 2019-10-07 19:02:36 · 59 阅读 · 0 评论 -
线程安全,锁
同步代码块使用的锁可以是任意的同步函数使用的锁是thisstatic 同步函数使用的锁是字节码文件对象,类名.class原创 2019-10-08 19:49:41 · 64 阅读 · 0 评论 -
单例模式的线程问题
//饿汉式 //多线程并发没问题class Single{ private static final Single s = new Single(); private Single(){} public static Single getInstance(){ return s; }}//懒汉式class Single { ...原创 2019-10-09 17:49:19 · 84 阅读 · 0 评论 -
生产者消费者问题
/** 生产则消费者问题* 生产和消费同时执行,需要多线程。* 但是执行的任务不相同,处理的资源是相同的,线程间的通信。** 1.描述资源* 2.描述生产者,因为具备自己的任务* 3.描述消费者,因为具备自己的任务** 需要实现生产一个就立即消费一个:* 生产者生产了商品后应该告诉消费者来消费,这时的生产者应该处于等待状态.* 消费者消费了商品后,应该告诉生产者,这时的消费者...原创 2019-10-10 19:53:05 · 70 阅读 · 0 评论 -
Lock多线程
/*在java.util.concurrent.locks 软件包中提供相应的解决方案Lock接口,比同步更厉害,有更多操作: lock();获取锁 unlock();释放锁 提供一个更加面向对象的锁,在该锁中提供了更多的显式的锁操作. 已经将旧锁换成新锁,那么锁上的监视器方法(wait,notify,notifyAll)也应该替...原创 2019-10-11 17:55:37 · 60 阅读 · 0 评论 -
抽象类和接口的使用
1.抽象类和接口是项目设计相关,不关心具体实现细节2.接口可以多继承类只能单继承//接口A//不能创建对象//如果要用某一个方法还需要同时覆盖其他所有的方法interface A{ public void show1(); public void show2(); public void show3(); public void show4();}...原创 2019-09-26 19:57:41 · 151 阅读 · 0 评论