
Java基础
ZYP起飞
开发好难啊
展开
-
OutOfMemoryError内存溢出原理
OutOfMemoryError内存溢出原理原创 2023-02-28 10:09:23 · 129 阅读 · 0 评论 -
POJO类属性必须使用包装数据类型
POJO类属性必须使用包装数据类型原创 2023-02-24 16:17:53 · 246 阅读 · 0 评论 -
The dependencies of some of the beans in the application context form a cycle: 循环依赖异常处理
The dependencies of some of the beans in the application context form a cycle: 循环依赖异常处理原创 2023-02-10 18:03:33 · 334 阅读 · 0 评论 -
Object的划分
Object的划分、PO、BO、VO、DO等原创 2023-02-09 11:03:34 · 303 阅读 · 0 评论 -
查询一个分类的完整分类路径(递归)
递归原创 2023-02-07 14:33:46 · 256 阅读 · 0 评论 -
switch case 分支结构
switch(变量/表达式){ case 字面值1:语句块儿1; break; case 字面值2:语句块儿2; break; default:语句块儿n;}原创 2022-04-29 14:30:11 · 896 阅读 · 0 评论 -
算数运算符 a++和++a
a++和++aa++:会先进行赋值,再+1++a:会先进行+1,再赋值public class TestDemo{ //权限修饰符、关键字、返回值类型、方法名、String类、字符串数组 public static void main(String[] args) { int a = 25; System.out.println(a++); System.out.println(++a); }}运行结果讲解:第一个输出语句会先打印a的值然后在进行a的值加一,所以输出25,原创 2021-12-15 17:01:43 · 810 阅读 · 0 评论 -
idea常用快捷键
1、查看当前类层次结构(可以看到这个类被哪些类实现)control + H2、查看类结构(可以看到类有哪些方法、属性)command + 73、快速检索类(查找你要找的类)command + o原创 2021-05-28 09:35:51 · 3281 阅读 · 0 评论 -
JDBC链接数据库
public Account queryAccountByCardNo(String cardNo){ // 从链接池获取链接、声明、执行sql Connection con = DruidUtils.getInstance().getConnection(); String sql = “select * from account where card_no=?”; PrepareStatement prepareStatement = con.prepareStatem.原创 2021-05-27 14:42:49 · 109 阅读 · 0 评论 -
银行转账案例
银行转账案例public void transfer(String fromCardNo, String toCardNo, int money) { Account from = accountDao.queryAccountByCardNo(fromCardNo); Account to = accountDao.queryAccountByCardNo(to); from.setMoney(from.getMoney()-money); to.setMoney.原创 2021-05-27 14:11:03 · 207 阅读 · 0 评论 -
Java常用的锁synchronized、ReentrantLock、Semaphore、AtomicInteger
先说一下常用的线程同步锁synchronized、ReentrantLock、Semaphore、AtomicInteger1、synchronized(同步锁)给共享资源上锁,只有拿到锁的线程才能访问共享资源2、ReentrantLock(可重入锁、公平锁、非公平锁)公平锁:先来的线程会优先获取到锁(线程等待时间长的会先获取到锁)。非公平锁:随机取一个线程获取锁。相比synchronized来说,上锁和解锁需要手动实现,而且在高并发情况下,这个相对synchronized更好。原创 2021-05-17 16:39:53 · 281 阅读 · 0 评论 -
Java 代理模式
1、基本概念 官方术语:代理模式就是找一个代理类替原对象进行操作。 意义:如果在使用的时候需要对原有的方法进行改进,可以采用一个代理类调用原有方法,并对生产结果进行控制,这种就是代理模式。 与装饰模式的区别:装饰模式需要把原对象(需要被装饰的对象)传给装饰对象的构造器,而代理模式是在代理类里创建了一个被代理的对象。 代理模式关注一个对象动态添加方法,代理模式关注于控制对对象的访问。2...原创 2021-05-13 14:11:01 · 122 阅读 · 0 评论 -
Java 装饰模式
1、基本概念 官方术语:装饰模式就是给一个对象动态增加一些功能,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。 大白话:说白了就是给一个对象新加一些功能,但不能在对象本书里做修改,就是不能违背开闭原则。 优点:可以实现一个类的功能扩展,动态的增加,动态撤销。 缺点:产生过多相似对象,不好排错。2、代码实现「接口」装饰类和被装饰类要实现的接口public interface Sourceable{ void met...原创 2021-05-13 13:34:51 · 237 阅读 · 1 评论 -
Java 普通工厂模式
1、基本概念 官方术语:先创建一个工厂类,对实现了同一个接口的不同实现类进行实例创建。 大白话:说白了就是你想要哪个类跟工厂说就行,工厂把你想要的类创建好,然后你拿过来直接就能用。2、具体实现 「交通工具接口」public interface Vehicle{ void go();}「汽车类」实现交通工具接口public class Car implements Vehicle{ @Override public vo...原创 2021-05-12 13:34:32 · 256 阅读 · 0 评论 -
Spring事务没有生效可能的原因
1、数据库底层不支持事务。2、在非public修饰的方法使用。3、rollbackFor属性设置错误。4、本地方法直接调用。5、异常被try...catch吃了,导致事务失效。「反例:」public class TransactionTest{ public void A(){ // 插入一条数据 // 调用方法B(本地类调用,事务失效了) B(); } @Transactional public转载 2021-05-11 15:53:14 · 161 阅读 · 0 评论 -
Java 相同包装类之间比较需要使用equals
先说原因,之所以需要用equals比较包装类的话,是因为包装类里有一个缓存数组,缓存了-128—127的值,然后超过这个范围会去创建新的对象;而==判断包装类的话判断的是对象的内存地址,equals判断包装类是对象的值是否相等,所以相同包装类之间的比较尽量采用equals来判断。例:Integer包装类内部源码public static Integer valueOf(int i){ if(i >= IntegerCache.low && i <= Intege原创 2021-05-10 18:08:42 · 635 阅读 · 0 评论 -
Java 静态方法为什么不能引用非静态变量
静态方法是属于类的,非静态方法是属于对象的,要想调用的话只能通过对象来调用。原创 2021-05-09 20:49:44 · 174 阅读 · 0 评论 -
Java什么时候使用抽象类什么时候使用接口
接口:什么时候都能用。抽象类:如果有一些方法功能是大家都有得那就没有必要去重复实现了,可以用继承抽象类直接调用就行。原创 2021-05-09 20:44:27 · 277 阅读 · 0 评论 -
Java整数类型占用空间
1、byte(字节型) 占用空间:1个字节2、short(短整型) 占用空间:2个字节3、int(整型) 占用空间:4个字节4、long(长整形) 占用空间:8个字节基本数据类型 占用字节 默认值 byte(字节型) 1 0 short(短整型) 2 0 int(整型) 4 0 long(长整形) 8 0.0l float(浮点型) 4 0.0f...原创 2021-05-09 20:18:00 · 1320 阅读 · 0 评论 -
n!(n的阶乘)
n!(n的阶乘)实现方法:递归:就是函数或者方法自己调自己。循环:就是有一个起始值一个最大值,在这个范围内进行循环。1、递归实现public class RecursionTest{ public static void main(String[] args){ Integer num = getValue(5); System.out.println(num); } public static Integer getValue(Integer num){ if(num &原创 2021-05-08 16:28:13 · 1021 阅读 · 0 评论