Java小知识
穿堂风引山洪
这个作者很懒,什么都没留下…
展开
-
SpringBoot使用undertow
原创 2020-12-23 14:47:54 · 396 阅读 · 0 评论 -
一个 MyBatis 的 HelloWord 诞生记
开发工具:IDEA最终目录树如下:一、准备工作1. 新建Maven工程并引入jar包资源 <dependencies> <!--MyBatis的jar--> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.myba.原创 2020-08-12 18:14:36 · 193 阅读 · 0 评论 -
工厂模式【1.简单工厂模式】【2.工厂方法模式】
简单工厂模式/** * 简单工厂模式:一个抽象的接口,多个抽象接口的实现类,一个工厂类,用来实例化抽象的接口 * * 简单工厂模式优缺点 * 优点:客户端与产品的创建分离,客户端不需要知道产品创建的逻辑,只需要消费该产品即可。 * 缺点:工厂类集成了所有产品的创建逻辑,当工厂类出现问题,所有产品都会出现问题; * 还有当新增加产品都会修改工厂类,违背开闭原则 */public class SimpleFactoryModel { public stati原创 2020-08-11 21:17:45 · 132 阅读 · 0 评论 -
装饰器模式和代理模式的区别
写在最前:设计模式本身是为了提升代码的可扩展性,灵活应用即可,不必生搬硬套,非要分出个所以然来,装饰器模式和代理模式的区别也是如此。原文章写的非常好:点我跳转摘抄:装饰器和代理模式的区别对装饰器模式来说,装饰者(Decorator)和被装饰者(Decoratee)都实现一个接口。对代理模式来说,代理类(Proxy Class)和真实处理的类(Real Class)都实现同一个接口。此外,不论我们使用哪一个模式,都可以很容易地在真实对象的方法前面或者后面加上自定义的方法。装饰器模式是使原创 2020-08-11 20:26:39 · 269 阅读 · 1 评论 -
单例模式的实现方式(懒汉式、饿汉式、双重判断、静态内部类)
目录树如图:写在最前:如下五个文件分别对应:1.(懒汉式)最经典的单例模式(多线程时有概率会出现问题)2.(懒汉式、饱汉式)使用同步关键字进行改进,就是将getXXX方法进行同步化, 这样就可以防止多线程引发的问题了,可是执行效率低3.(饿汉式)直接初始化单例对象 private static Singleton uniqueInstance= new Singleton(); 这样在多线程的情况下也能保证只初始化一次4.(双重检测)双重判断获取单例,先将其赋予n原创 2020-08-11 19:58:39 · 326 阅读 · 0 评论 -
代理模式之【1.静态代理】【2.动态代理】【3.CGLIB】举例说明
第一种:静态代理代码结构树如图:接口类BuyHouse代码如下/** * 第一步:创建服务类接口 */public interface BuyHouse { void buyHosue();}接口实现类BuyHouseImpl(目标对象类)代码如下:/** * 第二步:实现服务接口 */public class BuyHouseImpl implements BuyHouse{ @Override public void buyH原创 2020-08-11 17:41:11 · 156 阅读 · 0 评论 -
在Eclipse中设置并使用Servlet模板文件【附:模板代码】
以下步骤直接见图操作1.如何新建2.如何使用1.正常建立一个Servlet2.清空3.输入s,自动提示,如果没有提示说明你没有配置代码提醒,可按Alt+/手动提示4.回车完成5.模板代码如下package ${enclosing_package};import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpSe原创 2020-07-23 12:16:27 · 253 阅读 · 0 评论 -
仿MyBatis的一个JDBC_Util工具类
简单、好用使用时依据注释做简单修改即可只有两个静态方法DML与DQLimport java.lang.reflect.Field;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import java.原创 2020-07-16 16:36:08 · 215 阅读 · 0 评论 -
“==“和equals方法究竟有什么区别?
相同:+ 在equals()没有被重写的情况下,两者均为判断前后所指是否为同一对象不同:1. “== ”是一种比较运算符,而equals()为对象的方法2. 因为“== ”是内置的比较符,所以不存在重写一说,其只能依据前后对象的地址值判断其是否为同一对象;而“equals”是方法,因此可以被重写从而改变默认的功能3. “== ”可以判断基本数据类型,而“equals()”不可以...原创 2020-07-10 20:36:08 · 320 阅读 · 0 评论 -
char型变量中能不能存贮一个中文汉字?为什么?
可以char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。ps:补充说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。...原创 2020-07-10 20:31:45 · 236 阅读 · 0 评论 -
Java中switch语句作用的数据类型范围
可用于:1.switch可作用于char byte short int2.switch可作用于char byte short int对应的包装类3.String类型在jdk1.7之后才可以,之前不行!不可用于:1.switch不可作用于long double float boolean,包括他们的包装类ps:这是因为switch(expr1)中,expr1只能是一个整数表达式或者枚举常量,而byte,short,char包括其对应的包装类都可以隐含转换为int,其他的并不会自动转换也就不可以了。原创 2020-07-10 20:27:45 · 1583 阅读 · 0 评论 -
Java中&和&&的区别
相同之处:1.在作为逻辑运算符的时候最终体现的效果是一致的,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。不同之处:1.&&更高效,我们称其为“短路与”,因为在进行逻辑运算时,如果左边不成立其不会再判断右边,节约了时间。ps:如果左侧的变量值在右侧有一定出错风险而经&&及时终止将会避免一些不必要的麻烦;例如左侧判断字符串是否为null,右侧调用了该对象的方法(如equals方法),则可避免为此产生的空指针异常。原创 2020-07-10 20:21:40 · 384 阅读 · 0 评论 -
在同一个Java文件中,类名是否区分大小写的问题
Java一个文件中,多个类名称“不会”区分大小写我们知道,在Java开发中是严格区分大小写的,但是有如下情况,看起来好像又不区分大小写了,这是为什么呢?场景如下总结:我们知道,在Java开发中是严格区分大小写的,但是有如下情况,看起来好像又不区分大小写了,这是为什么呢?场景如下在一个public修饰的类所在的文件下,我们定义了两个类,类名分别为:CreateA 和 Createa,两个类名的区别仅仅在于结尾处的字符大小写不同class Create_A extends Thread { @Over原创 2020-06-30 16:30:52 · 2929 阅读 · 2 评论 -
HashSet实现元素对象不可重复的原理(过程)
HashSet实现元素对象不可重复的原理现场场景如下:我们有一个学生类,其成员变量如下:private String name;private char sex;private Integer age;private Double score;提供有参构造方法public Student(String name, char sex, Integer age, Double score) { super(); this.name = name; this.sex = sex; thi原创 2020-06-24 11:13:00 · 590 阅读 · 0 评论 -
Java中关于Scanner类的Next()方法与NextLine()方法的区别
Java中关于Scanner类的Next方法与NextLine方法的区别在使用中发现了如下问题第一种情况: 先使用NextLine再使用Next,且输入的内容中不包含空格可见结果十分正常第二种情况: 还是先使用NextLine再使用Next,但是输入的内容中包含了空格,结果如下:结果显示,第一次的NextLine输出正常,但是第二次的Next却只输出了空格前的内容(空格字符未输出)第三种情况:先使用Next再使用NextLine,且输入的内容不包含空格结果很意外,控制台在第一次打印输出后原创 2020-06-24 10:19:39 · 244 阅读 · 0 评论