- 博客(38)
- 收藏
- 关注
原创 Linux实际工作中常用命令(待补充)
1.防火墙1)查看防火墙状态systemctl status firewalld2)关闭防火墙systemctl stop firewalld3)打开防火墙systemctl start firewalld2.端口及服务1)服务启动/关闭/重启service 服务名(例:tomcat1) start/stop/restart2)查看端口状态netstat -anp |grep 端口号3.vi中常用快捷键剪切当前行 dd复制当前行 yy或Y复制当前行以下n行 nyy或n
2022-02-09 12:13:06
560
原创 创建vue工程
a.命令:1.vue init webpack hello-vue(工程名称)2.进入工程目录cd hello-vue3.安装 vue-routernpm install vue-router --save-dev4.安装 element-uinpm i element-ui -s5.安装依赖npm install6.安装 SASS 加载器cnpm install sass-loader node-sass --save-dev7.启动测试npm run devb.Npm
2020-12-24 18:43:59
328
4
原创 JavaSE前半段基础总结
1.生成随机数Random r=new Random();int num=r.netInt(n)+1;//由[0,n)变成[1,n+1)即[1,n]2.ArrayList常用方法 //向集合中添加元素 list.add("lj"); list.add("lbx"); list.add("cyy"); list.add("qd"); list.add("hd"); //从集合中获取元素:get,利用
2020-12-11 15:34:04
207
原创 TCP通信代码实现
a. TCPClient:客户端TCP通信的客户端:向服务器发送连接请求,给服务器发送数据,读取服务器回写的数据表示客户端的类:java.net.Socket:此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器间通信的端点。套接字:包含了IP地址和端口号的网络单位构造方法: Socket(String host, int port) 创建一个流套接字并将其连接到指定主机上的指定端口号。 参数: String host:服务器主机名称/服务
2020-12-02 23:26:48
425
原创 ObjectOutputStream、ObjectInputStream
a.ObjectInputStream extends InputStreamObjectInputStream:对象的反序列化流作用:把文件中保存的对象,以流的方式读取出来使用特有方法:Object readObject():从ObjectInputStream 读取对象使用步骤:1.创建ObjectInputStream对象,构造方法中传递字节输入流ObjectInputStream ois=new ObjectInputStream(new FileInputStream("person
2020-12-01 22:16:30
209
原创 OutOutputStreamWriter、InputStreamReader
a.ObjectOutputStream extends OutputStreamObjectOutputStream:对象的序列化流作用:把对象以流的方式写入到文件中保存特有的成员方法:writeObject(Object obj):将指定对象写入ObjectOutputStream使用步骤:1.创建ObjectOutputStream对象,构造方法中传递字节输出流ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStr
2020-12-01 22:06:50
93
原创 Reader之FileReader、BufferedReader
Reader:字符输入流,是字符输入流最顶层的父类,定义了一些共性成员方法,是一个抽象类a.FileReader extends InputStreamReader extends ReaderFileReader:文件字符输入流作用:把硬盘文件中的数据以字符的方式读取到内存中构造方法:FileReader(String fileName)在给定从中读取数据的文件名的情况下创建一个新 FileReader。FileReader(File file)在给定从中读取数据的 File 的情况下创
2020-11-30 22:14:10
1401
原创 Writer之FileWriter、 BufferedWriter
Writer:字符输出流,是所有字符输出流的最顶层父类,是一个抽象类a.FileWriter extends OutputStreamWriter extends WriterFileWriter:文件字符输出流作用:把内存中的字符数据写入到文件中字节输出流使用步骤(重点):1.创建FileWriter对象,构造方法中绑定要写入数据的目的地 FileWriter fw=new FileWriter("a.txt");2.使用FileWriter中的方法write,把数据写入到内存缓冲区(字
2020-11-30 22:12:04
433
原创 InputStream之FileInputStream、BufferedInputStream
InputStream:字节输入流此抽象类是表示字节输入流的所有类的超类。a.FileInputStream extends InputStreamFileInputStream:文件字节输入流作用:把硬盘文件中的数据,读取到内存中使用构造方法:FileInputStream(File file)通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。FileInputStream(String name)通过打开一
2020-11-30 21:58:23
1431
原创 OutputStream之FileOutputStream、BufferedOutputStream
OutputStream:字节输出流此抽象类是表示输出字节流所有类的超类定义了一些子类共性的成员方法a.FileOutputStream extends OutputStreamFileOutputStream:文件字节输出流作用:把内存中的数据写入到硬盘的文件中构造方法:FileOutputStream(String name):创建一个向具有指定名称的文件中写入数据的输出文件流。FileOutputStream(File file):创建一个向指定 File 对象表示的文件中写入数据的
2020-11-30 21:33:57
4606
原创 Lambda表达式
Lambda表达式的标准格式:由三部分组成:a.一些参数b.一个箭头c.一段代码格式:(参数列表)->{一些重写方法的代码};解释说明格式:():接口中抽象方法的参数列表,没有参数就空着,有参数就写参数,多个参数使用逗号分隔->:传递的意思,把参数传递给方法体{}{}:重写接口的抽象方法体例1: //使用匿名内部类实现多线程 new Thread(new Runnable() { @Override publ
2020-11-27 22:47:55
122
原创 线程池
线程池的使用步骤:1.使用线程池的工厂类Executors里面提供的静态方法newFixedThreadPool生产一个指定数量的线程池2.创建一个类,实现Runnable接口,重写run方法,设置线程任务3.调用ExecutorService中的方法submit,传递线程任务(实现类),开启线程,执行run方法4.调用ExecutorService中的方法shutdown,销毁线程池(不建议执行) // 1.使用线程池的工厂类Executors里面提供的静态方法newFixedThreadP
2020-11-27 22:45:11
90
原创 线程安全问题解决方案
实现卖票案例出现了线程安全问题,卖出了不存在和重复的票解决线程安全的第一种方法:使用同步代码块格式:synchronized(锁对象){可能会出现线程安全问题的代码(访问了共享数据的代码)}注意:1.同步代码块中的锁对象,可以使用任意对象2.但是必须保证多个线程使用的锁对象是同一个3.锁对象作用:把同步代码块锁住,只让一个线程在同步代码块中执行原理总结:同步的线程,没有执行完毕不会释放锁,同步外的线程没有锁进不去同步例:public class RunnableImpl im
2020-11-27 22:44:03
202
原创 创建线程知识点总结
1.主线程:执行主(main)方法的线程单线程程序:java程序中只有一个线程,执行从main方法开始,从上到下依次执行,JVM执行main方法,main方法会进入到栈内存,JVM会找操作系统开辟一条main方法通向CPU的执行路径,CPU就可以通过这个路径来执行main方法,而这个路径就叫main(主)线程。2.创建多线程程序的第一种方式:创建Thread类的子类Thread类:是描述线程的类,我们想要实现多线程程序,就必须继承Thread类实现步骤: 1.创建一个Thread类的子类
2020-11-27 22:38:12
175
原创 Exception异常总结
Thorwable类:是Java语言中所有错误或异常的超类Exception:编译期异常,进行编译(写代码)java程序出现的问题RuntimeException:运行期异常,java程序运行过程中出现的问题异常就相当于程序得了一个小毛病(感冒、发烧),把异常处理掉,程序可以继续执行(吃点药,继续工作)Error错误:相当于程序得了一个无法治愈的毛病,必须修改源代码,程序才能继续执行1).throws关键字:异常处理的第一种方式,交给别人处理作用:当方法内部抛出异常的时候,我们就必须处理这个
2020-11-23 18:10:57
340
原创 HashMap存储自定义类型数据
HashMap存储自定义类型键值Map集合保证key是唯一的:作为key的元素,必须重写hashCode方法和equals方法,以保证key唯一HashMap存储自定义类型键值key:Person类型,Person类必须重写hashCode方法和equals方法,以保证key唯一value:String类型,value可以重复(同名同年龄的人视为同一个)private static void show1() { //创建HashMap集合 HashMap<
2020-11-23 18:02:35
884
原创 LinkedHashMap与HashMap区别
LinkedHashMap<k,v>集合 extend HashMap<k,v>集合LinkedHashMap的特点:1.LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序)2.LinkedHashMap集合是一个有序的集合,存储和取出元素的顺序是一致的 HashMap<String,String> map=new HashMap<>(); map.put("a","a"); map.put("c","
2020-11-23 18:02:26
183
原创 Debug
Debug调试程序:可以让代码逐行执行,查看代码的执行过程,调试程序中出现的bug使用方法:在行号的右边,鼠标左键单击,添加断点(每个方法的每一行,哪里有bug添加到哪里)右键,选择debug执行程序程序就会停留在添加的第一个断点处执行程序:f8:逐行执行程序f7:进入到方法中shift+f8:跳出方法f9:跳到下一个断点,如果没有下一个断点,那么就停止程序...
2020-11-23 18:01:57
87
原创 Map、HashMap、LinkedHashMap各自特点
1). Map<k,v>集合Map集合的特点:1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)2.Map集合中的元素,key和value的数据类型可以相同,也可以不同3.Map集合中的元素,key不允许重复,value允许重复4.Map集合中的元素,key和value是一一对应2). HashMap<k,v>集合 implement Map<k,v>接口HashMap集合的特点:1.HashMap集合底层是哈希表:
2020-11-21 19:03:06
394
原创 Map集合方法
创建Map集合对象,多态 Map<String,Integer> map=new HashMap<>();把指定键值对添加到Map集合中,返回值:v存储键值对的时候,key不重复,返回的v是null存储键值对的时候,key重复,会使用新的value替换map中重复的value,返回被替换的value值String v1 = map.put("李晨", "范冰冰");map.put("唐三","小舞");//也可不返回值2.把指定的键 所对应的键值
2020-11-21 18:59:03
587
原创 cmd命令
启动:Win+R切换盘符:盘符名称:进入文件夹:cd 文件夹名称进入多级文件夹:cd 文件夹1\文件夹2\文件夹3(可按tab键自动补全)返回上一级:cd …返回根路径: cd 查看文件目录: dir清屏:cls退出:exit...
2020-11-21 00:26:29
130
原创 静态代码块
静态代码块特点:当第一次用到本类时,静态代码块执行唯一的一次静态内容总是优先于非静态,所以静态代码块比构造方法先执行静态代码块的典型用途:用来一次性的对静态成员赋值。
2020-11-21 00:25:56
92
原创 Collections工具类方法
ArrayList<String> list=new ArrayList<>();1.往集合中添加多个元素Collections.addAll(list,"a","b","c");2.打乱集合中的元素顺序Collections.shuffle(list);3.对集合进行排序,升序Collections.sort(list1);
2020-11-21 00:23:44
116
原创 可变参数
当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数可变参数原理:可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数传递的参数个数可以是0个(不传递),1,2…多个注意: 1.一个方法的参数列表,只能有一个可变参数 2.如果方法的参数有多个,那么可变参数必须写在参数列表的末尾可变参数的特殊(终极写法)public static void method(Object...obj){}定义一个方法,计算(0~n)个int类
2020-11-21 00:21:34
331
原创 HashSet集合和LinkedHashSet集合比较
LinkedHashSet extend HashSet特点:1.底层是哈希表(数组+链表/红黑树)+链表:多了一条链表(用来记录元素存储的顺序,可以保证元素有序) HashSet<String> set=new HashSet<>(); set.add("www"); set.add("abc"); set.add("abc"); set.add("wuhu"); System.out.p
2020-11-21 00:19:19
362
原创 Collection接口的子接口Set以及HashSet特点
Set接口 extend Collection接口Set接口特点:1.不允许存储重复的元素2.没有索引,没有带索引的方法,也不能使用for循环HashSet集合 implement Set接口HashSet集合特点: 1.不允许存储重复的元素 2.没有索引,没有带索引的方法,也不能使用for循环 3.是一个无序的集合,存储和取出元素的顺序有可能不一致 4.底层是一个哈希表结构(查询的速度非常快)...
2020-11-21 00:17:28
80
原创 List接口下LinkedList集合方法
LinkedList集合 implements List接口特点:1.底层是链表结构:查询慢,增删快2.里边包含了大量操作首尾的方法注意:使用LinkedList集合特有的方法,不能使用多态1.创建LinkedList集合对象 LinkedList<String> linkedList=new LinkedList<>(); //往集合中添加元素 linkedList.add("a"); linkedList.
2020-11-21 00:08:20
164
原创 Collection接口的子接口List方法
list接口特点:1.有序的集合,存储元素和取出元素的顺序是一致的2.有索引,包含了一些带索引的方法3.允许存储重复的元素 //创建一个List集合对象,多态 List<String> list=new ArrayList<>();1.集合中添加元素list.add("a");2.在指定位置中添加元素list.add(3,"wuhu");3.移出元素 String remove = list.remove(2);4.替换元素String
2020-11-20 23:50:47
93
原创 使用泛型和不适用泛型的区别
1.使用泛型 /* 创建集合对象,使用泛型 好处:1.避免了类型转换的麻烦,存储什么类型,取出的就是什么类型 2.把运行期异常(代码运行之后会抛出的异常),提升到了编译期(写代码的时候就会报错了) 弊端:泛型是什么类型,只能存储什么类型的数据 */ private static void show2() { ArrayList<String> list=new ArrayList<
2020-11-20 23:15:44
619
1
原创 Iterator迭代器用法
1.原生迭代器用法 //创建一个集合对象 Collection<String> collection=new ArrayList<>(); //往集合中添加元素 collection.add("姚明"); collection.add("科比"); collection.add("麦迪"); collection.add("詹姆斯"); collection.add("戴
2020-11-20 23:13:18
832
原创 Collection接口方法
Collection接口方法 //创建集合对象,可以使用多态 Collection<String> collection=new ArrayList<>(); //将给定元素添加到集合中,返回值是Boolean类型,一般都是true,所以可以不用接收 boolean add1 = collection.add("abc"); collection.add("123"); //将给定元素在集合中删除
2020-11-20 23:10:03
187
原创 SpringMVC的两个配置文件
1.springmvc.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:mv
2020-10-19 16:09:43
366
原创 Tomcat启动问题之一
讲一个我在学习SpringMVC中遇到的问题,代码配置都没出错,但启动Tomcat时就是找不到报404,此时有可能是IDEA环境出了问题,点击IDEA中的Project Structure选择Artifacts选中所需运行的项目在output root框中的WEB-INF文件下新建一个lib文件夹 ,然后点击上面的+添加Library Files选中全部依赖导入后点击应用。...
2020-10-18 17:58:27
167
原创 下载文件流程
DownloadController.java request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); String basePath= request.getServletContext().getRealPath("/WEB-INF/upload"); //UUID文件名 String uuidFilename
2020-09-17 00:24:49
537
原创 上传文件流程
1.设置乱码request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");2.获取请求的数String username=request.getParameter("username");Part part= request.getPart("file1");3.获取文件上传路径 (真实路径)String uploadPath= request.getServletCont
2020-09-17 00:18:31
463
原创 Servlet结合JDBC三层架构登录
Dao(持久层,与数据库交互将数据持久化)AdminDaoImpl包public Admin select(String username) { try { Admin admin=queryRunner.query(Dbutils.getConnection(),"select * from admin where username=?",new BeanHandler<Admin>(Admin.class),username);
2020-09-11 00:16:33
377
原创 JDBC基础流程
JDBC流程1.加载驱动(cj为驱动8的特性)Class.forName("com.mysql.cj.jdbc.Driver");2.获得连接对象(驱动8需要加时区)Connection connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/(需连接数据库名称)?serverTimezone=UTC","root",password:"xxxxx");3.获得PrepareStatement对象 预编译sql语句
2020-09-04 14:53:41
83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人