![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA学习笔记
文章平均质量分 87
阿里云大学Java学习路线,路上笔记代码,随笔。
「已注销」
这个作者很懒,什么都没留下…
展开
-
新建一个SSM项目
新建一个SSM项目新建一个空java项目新增项目为Web项目和Maven管理复制pom.xml文件内容,更改第9行左右的部分为你项目名称复制SSM配置文件到工程中src/main/java/resources,更改需要更改的内容在web目录下新建以下空目录文件夹复制以下内容到 web下的web.xml点击maven包刷新,开始下载需要的包,首先需要配置以下maven的配置文件配置tomcat服务器建所需的包修改项目配置建立数据库和表,运行之前原创 2021-09-21 00:22:43 · 352 阅读 · 1 评论 -
【Java项目(2)】基于Javaee的通讯录系统
这是一个使用了 H-ui 组件库的一个页面,后端使用JavaEE开发,访问数据库使用阿里的 Druid连接池,使用 ThreadLocal 进行统一的事务管理,对于 Servlet控制器,采用一个抽象基础类,在每一次访问的时候都将手动的携带一个 action访问参数,使用 Java反射机制动态调用方法,提高代码复用率。 通讯录系统开发严格遵循 MVC模式。本系统截止 2020-11-30已经完成了注册、登录、修改密码、新增分组、新增联系人、联系人信息管理、分组管理功能。原创 2020-12-01 08:42:03 · 1081 阅读 · 8 评论 -
【Java笔记(62)】后端获取小程序openid
我的openid是你的生日原创 2020-10-21 22:37:21 · 386 阅读 · 1 评论 -
【Java笔记(61)】Cookie和Session注意事项
如果我们之间的超时间隔也能用setMaxInactiveInterval()来设置原创 2020-10-15 13:54:59 · 100 阅读 · 0 评论 -
天一遍,快乐再见!LeetCode(5)最长公共前缀
今天饭堂阿姨好像心情不好说什么她都听不见我只好刷一题安抚一下她的心情原创 2020-10-14 09:52:17 · 77 阅读 · 0 评论 -
天一遍,快乐再见!LeetCode(4)罗马转数字
罗马字可不止在钟表上出现原创 2020-10-13 08:47:30 · 120 阅读 · 0 评论 -
每天一遍,快乐再见!LeetCode(3)回文数
每天一遍,快乐再见!原创 2020-10-12 10:58:40 · 81 阅读 · 0 评论 -
Android(2)ViewModelProvider不会构建啊!!咋整???这就好了
myViewModel = new ViewModelProvider(this , new ViewModelProvider.NewInstanceFactory()).get(MyViewModel.class);看了一下官方文档,这个类只有两个构造函数,而且都需要两个参数,那就需要我们知道这两个参数要传什么??看一下我们需要用到的函数模型 /** * Creates {@code ViewModelProvider}, which will create {@code...原创 2020-10-10 20:29:48 · 1131 阅读 · 0 评论 -
【Java笔记(60)】使用注解和配置文件配置Serlvet
【Java笔记(60)】使用注解和配置文件配置1. 依赖版本问题只有的3.0以上才能支持注解开发,如果你发现你导包之后还是没办法正常使用注解,那就是版本问题<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version></dependen原创 2020-10-09 11:26:41 · 118 阅读 · 0 评论 -
JavaEE(1)DTD和SCHEMA使用笔记
DTD和SCHEMA使用笔记原创 2020-09-13 16:32:57 · 141 阅读 · 0 评论 -
Tomcat9和JDK11的闪退问题
在tomcat目录的bin下找到这两个文件将这三句代码复制在最开头的位置,第一行的位置,(要改为自己的路径)SET JAVA_HOME=X:\Java\File\JAR\jdk-11SET TOMCAT_HOME=X:\Java\Server\Tomcat-9.0.31set JRE_HOME=X:\Java\File\JAR\jdk-11完美解决闪退问题!!!!...原创 2020-09-09 01:20:59 · 367 阅读 · 0 评论 -
计算机网络笔记(1)
计算机网络笔记概述计算机网络按范围可分为广域网,局域网,城域网计算机网络最重要的两个性能指标是带宽 ,时延信息传输速率的单位是比特/秒,码元的传输速率单位是波特运输层为应用程序,网络层为主机之间,各自提供逻辑通信将主机名转换为IP地址,要使用DNS,将IP地址转换为MAC地址,要使用地址解析协议(ARP)ping命令使用了ICMP的Echo请求和Echo回答报文10base-T的含义原解释10传输速率为10Mbit/sbase连接线原创 2020-08-29 11:40:51 · 249 阅读 · 0 评论 -
【Java笔记(59)】SpringMVC中的重定向和RestFul风格
spring中的重定向写法,和restful风格简介原创 2020-08-26 00:50:19 · 264 阅读 · 0 评论 -
【Java笔记(58)】SMM整合中的配置文件
ssm整合过程中的细节和配置文件原创 2020-08-24 13:04:17 · 568 阅读 · 0 评论 -
【Java笔记(57)】Spring的注解开发笔记2
@Configuration//设置本类为配置类@ComponentScan("com.xlu")//设置扫描的包@PropertySource("classpath:jdbc.properties")//读取配置文件@Import(ConfigJdbc.class)//引用另一个配置文件@Value("${jdbc.driver}")//引用配置文件中的键值对@Bean("runner")//配置为java类@Scope("prototype")//多例ApplicationContext原创 2020-08-15 23:56:34 · 53 阅读 · 0 评论 -
【Java笔记(56)】Spring5的注解开发
Spring5的注解开发package com.xlu.service.impl;import com.xlu.dao.IAccountDao;import com.xlu.service.IAccountService;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Service;import javax.annotation.PostConstruct;原创 2020-08-15 11:06:54 · 147 阅读 · 0 评论 -
【Java笔记(55)】EffectiveJava第九条之try-with-resources优先于try-finally
try-with-resources优先于try-finallytry-with-resources需要实现AutoCloseable接口,其中有一个 close:void方法,用来关闭资源以下代码就能实现自动关闭资源try (BufferedReader br = new BufferedReader( new FileReader(path))) { return br.readLine(); }...原创 2020-07-20 22:52:06 · 113 阅读 · 0 评论 -
【Java笔记(54)】EffectiveJava第八条之避免使用终结方法和消除方法
文章目录1、总结2、终结方法简介1、总结只有当终结方法或清除方法作为安全网,或终止非关键性的本地资源时,才考虑使用,一般不用。永远不应该依赖终结方法或清除方法来更新重要的持久状态。比如关闭数据库。Java语言规范并没有保证终结方法一定会被运行。使用终结方法有一个非常严重的性能损失2、终结方法简介java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。对象不一定会被回收。垃圾回收不是析构函数。垃圾回收只与内存有关。垃圾回收和finalize原创 2020-07-16 00:09:56 · 198 阅读 · 0 评论 -
【Java笔记(53)】EffectiveJava第七条之消除过期的对象引用
- 1、对象回收功能有时候会忽略一些对象,从而导致内存泄露。 - 2、内存泄漏的三个来源:**缓存**,**监听器**和其他调,被忽略的**对象**引用。 - 3、对于**缓存**和**监听器**可以使用`WeakHashMap`类方案进行解决。而对于对象,可以手动的将引用置为`null`。原创 2020-07-13 00:20:47 · 120 阅读 · 0 评论 -
【Java笔记(52)】EffectiveJava第六条之避免创建不必要的对象
1、创建对象的时候,优先考虑**静态工厂方法** 2、优先使用基本数据类型(`int、long、double、float、numbet、boolean`)3、对于**昂贵的对象**,尽量重用;但是对于小对象,我们要相信现代JVM的垃圾回收器。原创 2020-07-11 21:54:12 · 90 阅读 · 0 评论 -
【Java笔记(51)】EffectiveJava第四条之通过私有构造器强化不可实例化的能力
开门见山这条比较简单需求:包含静态方法或静态属性的类解决:1、众所周知,只有在没有程序员没有编写构造函数的时候,编译器才会自动提供一个无参的构造方法。2、所以只需要写一个私有的构造方法,就能加强不可实例化的能力缺点:1、子类无法调用父类的构造方法,导致该类无法被子类化。...原创 2020-07-10 22:13:28 · 97 阅读 · 0 评论 -
【Java笔记(50)】EffectiveJava第三条之用私有构造器或者枚举类型强化Singleton属性
目录一、大白话二、三种方式1、公有静态final成员2、私有构造,静态工厂方法3、单个元素枚举类型一、大白话关于单例模式可以利用三种方式就行加强1、使用一个public static final 单例类 变量名 = new 单例类()2、使用私有的静态工厂方法public static 单例类 getInstance(){}3、使用包含单个元素的枚举类型二、三种方式1、公有静态final成员public class Elvis { public static final Elvi原创 2020-07-09 09:11:00 · 111 阅读 · 0 评论 -
【Java笔记(49)】EffectiveJava第二条之建造者模式(建造者模式)
静态工厂方法代替构造器一、大白话二、三种模式的优缺点1、重叠构造器模式① 优点② 缺点2、JavaBeans模式① 优点② 缺点3、建造者模式① 优点② 缺点三、总结一、大白话静态工厂和构造有个共同的局限性:不能很好的拓展到大量的可选参数中。一般采用 重叠构造器模式 和JavaBeans模式,但这两种模式都各有缺陷。而建造者模式既能保证重叠构造器模式那样的安全性,也能拥有像JavaBeans模式那样的可读性。Buidler模式是采用一个静态类Builder,来对属性进行赋值,然后再通过调用bui原创 2020-07-05 14:26:37 · 262 阅读 · 0 评论 -
【Java笔记(48)】EffectiveJava第一条之用静态工厂方法代替构造器
- 静态工厂方法和构造器各有用处,需要理解各自的长处 - 静态工厂方法更适合 - 在第一时间要想到的是静态工厂方法,而不是构造方法原创 2020-07-03 22:36:03 · 125 阅读 · 0 评论 -
【Java笔记(47)】网络编程之UDP编程
目录一、核心要点二、完整代码UdpServerUdpClient三、运行结果一、核心要点 * UDP编程主要用到的是两个类 * DatagramSocket * DatagramPacket二、完整代码UdpServerpackage net.udp;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/** * UDP服务端 * @ClassNam原创 2020-06-29 15:46:39 · 181 阅读 · 0 评论 -
【Java笔记(46)】网络编程之TCP BIO编程,多线程客户端访问
目录一、核心要点二、完整代码EchoClientEchoServerThreadClient三、运行结果一、核心要点* 无论是客户端还是服务器端,在输出之后都要使用flush()方法进行刷新* client = server.accept();//会一直等待有客户端进入* in.hasNext()//会一直等待,如果服务器未响应则会卡死二、完整代码EchoClientpackage net.bio;import java.io.PrintWriter;import java.net.S原创 2020-06-29 15:43:50 · 102 阅读 · 0 评论 -
【Java笔记(45)】集合6大工具类汇总
目录一、类介绍1、Stack -- 栈操作类2、Queeu -- 队列接口3、Stream -- 流(数据分析)4、Properties -- 配置文件操作5、MapReduce -- 基础模型6、Cllections -- 集合工具类二、完整代码1、Stack2、Queeu3、Stream4、Properties5、MapReduce6、Cllections一、类介绍1、Stack – 栈操作类 * 栈操作类 * 虽然Stack继承Vector类,但是并没有用到这些他里面的方法 * 而是使用自己原创 2020-06-29 14:57:33 · 444 阅读 · 2 评论 -
【Java笔记(44)】Map接口使用自定义类做Key值
目录一、核心要点二、完整代码三、运行结果一、核心要点 * map的自定义key * map使用put方法的存入的时候,有关乎到hash码 * 在使用get方法获取数据的时候,也是通过key的hash码 * 在使用getNode方法的时候又使用到了 equals方法 * 在map上如果产生了hash冲突,会在冲突位置采用链表的方式存储二、完整代码package collectjh.map;import java.util.HashMap;import java.util.Map;im原创 2020-06-28 17:29:30 · 711 阅读 · 0 评论 -
【Java笔记(43)】Map接口使用Iterator输出
目录一、核心要点二、完整代码三、运行结果一、核心要点 *** 主要用到了 entrySet(),将所有的map集合转为set集合 * 利用set接口中的iterator()方法获取Iterator对象 * 使用Iterator对象迭代输出二、完整代码package collectjh.map;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;/*原创 2020-06-28 17:15:39 · 376 阅读 · 0 评论 -
【Java笔记(42)】Map接口与Map.Entry内部接口
目录一、核心要点1、接口结构图2、注意事项二、完整代码三、运行结果一、核心要点1、接口结构图2、注意事项 * 1、这是Map的一个内部类 * 2、jdk9之后在Map中新增了entry()方法来获取Map.Entry对象。 * 3、在Map执行put的时候,Entry起到了一个数据包装的作用 * 4、相当于每一个Map元素就是一个Entry实例。二、完整代码package collectjh.map;import java.util.Map;/** * Map.Entry演示原创 2020-06-20 11:52:56 · 263 阅读 · 0 评论 -
【Java笔记(41)】Map接口与Hashtable子类
目录一、核心要点1、注意事项二、完整代码三、运行结果一、核心要点1、注意事项 * 1、从jdk1.0就有,在1.2的时候继承了一个新的接口Map * 2、put的时候不允许有null,key跟value都不行 * 3、所有方法都是同步的安全的 * 4、也是无序的 * * 问题:HashMap与Hashtable的区别 * 1、HashMap jdk1.2才有,Hashtable jdk1.0就有了 * 2、HashMap可以保存空子,Hashtable不行 *原创 2020-06-20 11:32:57 · 106 阅读 · 0 评论 -
【Java笔记(40)】Map接口与LinkedHashMap子类
目录一、核心要点1、接口结构图2、注意事项二、完整代码三、运行结果一、核心要点1、接口结构图2、注意事项 * 1、一般都使用HashMap * 2、使用LinkedHashMap存储数据是有序的。 * 3、结构: * public class LinkedHashMap<K,V> * extends HashMap<K,V> * implements Map<K,V> *二、完整代码package collectjh原创 2020-06-20 11:24:55 · 96 阅读 · 0 评论 -
【Java笔记(39)】Map接口与HashMap子类(最常用),基本操作,两道面试题
目录一、核心要点1、注意事项二、完整代码三、运行结果一、核心要点1、注意事项 * 1、默认阈值:DEFAULT_LOAD_FACTOR =0.75 * 这个0.75是当存储的数据达到原来容量的0.75就会扩容量,扩充的是1倍。 * * 2、初始容量 16:DEFAULT_INITIAL_CAPACITY = 1 << 4; * * 3、在调用put()的时候会调用一个putVal()同时获取key的hash值。 * * 4、看到putVal()里面是通过节点( No原创 2020-06-20 11:12:42 · 100 阅读 · 0 评论 -
【Java笔记(38)】Map接口与JDK9之后的新静态方法 of()
目录一、核心要点1、注意事项二、完整代码三、运行结果一、核心要点1、注意事项 * 1、1.8之后才有的of方法 * 2、在of()参数中如果存在相同的key会报java.lang.IllegalArgumentException * 3、在of()参数中如果存在key或value为null,会报 java.lang.NullPointerException二、完整代码package collectjh.map;import java.util.Map;/** * MapDome演示原创 2020-06-19 14:43:39 · 678 阅读 · 0 评论 -
【Java笔记(37)】Iterator接口之Enumeration接口,只支持Vector子类
目录一、核心要点1、接口结构图2、注意事项二、完整代码三、运行结果一、核心要点1、接口结构图2、注意事项 * 1、只支持Vector子类 * <p> * 2、jdk1.0就有了 * <p> * 3、判断是否含有下一个元素: boolean hasMoreElements(); * <p> * 4、获取当前元素: E nextElement();二、完整代码package collectjh.list;import java.ut原创 2020-06-19 11:01:37 · 141 阅读 · 0 评论 -
【Java笔记(36)】Iterator接口之ListIterator双向迭代
目录一、核心要点1、接口结构图2、注意事项二、完整代码三、运行结果一、核心要点1、接口结构图实线:继承虚线:依赖2、注意事项 * <p> * 1、ListIterator只支持List不支持Set * <p> * 2、双向迭代的从后向前是通过hasNext()方法走到最后,再通过hasPrevious()走回来。 * 二、完整代码package collectjh.iterator;import java.util.ArrayList;import原创 2020-06-19 10:47:11 · 175 阅读 · 0 评论 -
【Java笔记(35)】Iterator接口与iterator()方法在1.5前后的区别。
目录一、核心要点1、接口结构2、注意事项二、完整代码三、运行结果一、核心要点1、接口结构2、注意事项1、在迭代中主要用到的是Iterator迭代2、在迭代时,使用hasNext()和next()获取元素3、在迭代中删除元素,要使用Iterator接口中都remove(),如果使用Collection接口中 的remove()会抛出异常。java.util.ConcurrentModificationException,并发修改。4、Set和List对象通过iterator()方法获取Ite原创 2020-06-19 10:27:08 · 117 阅读 · 0 评论 -
【Java笔记(34)】Set接口之HashSet子类实现自定义类排序,使用hashCode()与equals()实现
一、核心要点1、自定义类中要重写hashCode()和equals()方法2、HashSet类比较是否相同元素的时候, 先比较hashCode是否一样 再用equals去比较两个对象的属性 因为,hashCode一样的两个对象不一定相等,但hashCode不相等的对象,一定不相等。3、TreeSet比较对象是否一样的时候是使用Comparable比较器,而HashSet比较元素是否一样的时候是使用hashCode和equals共同作用的。二、完整代码package collectjh.se原创 2020-06-18 23:23:07 · 255 阅读 · 0 评论 -
【Java笔记(32)】Set接口之HashSet子类,无序
目录一、要点二、位置代码三、运行结果一、要点1、HashSet是无序的2、输出无序的,哪里有位置就存放在哪里3、使用add()方法进行添加的时候,如果是重复元素会忽略掉二、位置代码package collectjh.set;import java.util.HashSet;/** * HashSet是无序的 * 输出无序的,哪里有位置就存放在哪里 * * @ClassName: HashSetDome * @Author: Xlu * @Date: 2020-06-18 2原创 2020-06-18 22:29:43 · 98 阅读 · 0 评论 -
【Java笔记(33)】Set接口之TreeSet子类实现自定义类排序,使用Comparable实现
TreeSet实现自定义类排序一、核心要点1、结构图![TreeSet结构图](https://img-blog.csdnimg.cn/20200618223422309.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ5MzU1OQ==,size_16,color_FFFFFF,t_70)2、TreeSet实现子类排序要点原创 2020-06-18 23:07:15 · 162 阅读 · 0 评论