- 博客(14)
- 收藏
- 关注
原创 在左连接中,将where的内容放到on后面出现什么
select s.sid,s.sname,c.cid,c.cname from t_stu s left join t_class c on s.cid = c.cid where s.sid = #{sid} 和 select s.sid,s.sname,c.cid,c.cname from t_stu s left join t_class c on s.cid = c.cid and s.sid = #{sid} 有什么区别吗。在这个查询中,连接条件和筛选条件合并在了一起。
2024-10-22 15:02:36
274
原创 [socket]方法中新建了一个okhttp3的socket,需要等socket接受完毕这个方法才返回怎么做
一开始我采用的是在类中写一个boolean标识符,默认为false,然后在socket的监听器的onMessage方法中判断是否可以返回,可以的话就将这个boolean标识符设置为true,然后在调用socket这个方法返回前通过while循环检查这个boolean标识符,如果boolean不为true就不返回,但是我也考虑到了超时过长问题,所以这个while判断条件包括了超过25就立马返回的逻辑,同时由于直接while容易造成该线程闲置等待,所以在while循环了写了Thread.sleep(500)。
2024-07-26 14:50:50
337
原创 单例模式有哪些应用场景及java代码示例
懒汉式和饿汉式各有优缺点,懒汉式的优点是延迟加载,只有在实际使用时才创建实例,缺点是在多线程环境下需要考虑线程安全问题;饿汉式的优点是在类加载时就创建实例,天然是线程安全的,缺点是不管是否使用,实例都会被创建。单例模式(Singleton Pattern)是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点来访问该实例。方法用于获取单例实例,如果实例尚未创建,就创建一个新的实例并返回。类的构造函数是私有的,这样就无法从外部直接创建该类的实例。这是一种懒汉式的实现方式,即在第一次调用。
2024-07-22 15:06:05
385
原创 装饰器模式有哪些应用场景及java代码示例
然后我就在想,我直接用一个类去继承上面的组件类,然后比如重写operation方法,在该方法中调用super.operation()方法不就可以,后面想想如果直接继承的话,会把父类中所有方法都继承了,所以这种想法不可取。装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时不改变其结构。它是一种结构型设计模式。类是具体的装饰器类,它们分别扩展了。对其进行装饰,并调用装饰后的对象的。类是一个抽象装饰器类,它也实现了。在上述代码中,我们定义了一个。方法中,我们首先创建了一个。
2024-07-22 14:52:23
599
原创 观察者模式有哪些应用场景及java代码示例
观察者模式(Observer Pattern)是一种行为型设计模式,用于定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知并自动更新。方法中,我们创建了一个主题对象和两个观察者对象,并将观察者注册到主题中,然后触发主题的状态变化通知观察者。接口,用于管理观察者并在状态变化时通知它们。接口,用于接收主题的通知并进行相应的处理。在上述代码中,我们定义了一个观察者接口。
2024-07-22 14:12:49
598
原创 代理模式有哪些应用场景及java代码示例
方法中,创建了不同角色的代理对象并调用其方法,展示了不同的结果。方法中,根据用户角色来决定是否调用实际服务类的方法。
2024-07-22 11:05:27
292
原创 设计模式有哪些
这些设计模式可以帮助开发者提高代码的可维护性、可扩展性和可复用性,使软件系统更加灵活和易于理解。不同的设计模式适用于不同的场景,开发者可以根据具体的需求选择合适的设计模式来解决问题。设计模式是在软件开发中,经过验证的、用于解决常见问题的一套可复用的解决方案。
2024-07-22 10:50:46
381
原创 建造者模式有哪些应用场景及java代码示例
建造者模式(Builder Pattern)是一种创建对象的设计模式,它将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。方法中,我们创建了导演类对象,并分别使用豪华车建造者和经济型车建造者来构建汽车,并输出构建的结果。然后,我们定义了一个抽象建造者。,它们分别实现了构建豪华车和经济型车的具体逻辑。最后,我们定义了一个导演类。,它定义了构建汽车的各个部分的抽象方法。接着,我们定义了两个具体建造者。,它负责指挥建造者按照一定的顺序构建汽车。在上述代码中,我们定义了一个。
2024-07-22 10:50:01
451
原创 java中发起socket远程调用一般有哪些方法
这只是一个简单的示例,实际应用中可能需要根据具体的需求进行更多的错误处理和功能扩展。例如,处理连接异常、读取和写入更多的数据、设置超时时间等。类来进行Socket远程调用。对象,指定了服务器的主机地址和端口号。在上述示例中,我们创建了一个。在 Java 中,可以使用。
2024-07-19 17:19:49
337
1
原创 Git巩固总结
一、备份例如电脑硬盘突然坏了二、代码还原开发中功能复杂, 摸索了一星期,改得面目全非,需要改回一周前的模样三、协同开发多个人同步开发同个文件四、追溯问题代码的编写人和编写时间某个代码出现问题,追责等等。
2023-12-28 20:12:03
1052
1
原创 关于hashmap源码的各个参数和属性
关于hashmap源码的各个参数和属性 1.hashmap的各个参数 1.DEFAULT_INITIAL_CAPACITY缺省table大小(也就是说table长度为指定时table的默认值)2.MAXIMUM_CAPACITYtable最大长度3.DEFAULT_LOAD_FACTOR缺省负载因子大小(默认为0.75)4.TREEIFY_THRESHOLD=8树化阈值(也就是...
2021-03-22 17:22:51
3332
原创 如何重写hashCode方法和equals方法
如何重写hashCode方法和equals方法比如我们新建了一个A类public class A{ private String userName; private Integer age; //省略构造函数}此时我们在test类中新建两个A类,其中他们的两个属性都相同,我们用a.equals(b),其中a、b为A类的两个实例,此时我们可以得到false,因为equals比较的是两者的地址public class Test{ pu...
2021-03-18 14:20:37
175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅