
JAVA
我的Y同学
这个作者很懒,什么都没留下…
展开
-
java线程等待唤醒例子
【代码】java线程等待唤醒例子。原创 2024-06-21 18:08:24 · 174 阅读 · 0 评论 -
让Spring的FactoryBean成为真正的万能Bean工厂
简述创建Bean的普通方式创建Spring config的xml配置文件,在此配置文件中对bean进行定义,如: <!--配置Bean,目的是让spring帮我们创建java对象。一个bean标签创建一个对象 id属性:配置一个唯一的标识 class属性:设置类的全类名,spring利用反射创建对象--> <bean id="helloWorld" class="spring.HelloWorld"> ...原创 2022-02-08 20:17:06 · 380 阅读 · 0 评论 -
idea配置tomcat项目后,先500后一直400的问题
除了本例出现的错误原因外,还有其他的原因,比如web.xml出错正常配置了web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com原创 2021-12-21 17:11:46 · 689 阅读 · 0 评论 -
在获取数据库连接对象connection时使用ThreadLocal从而保证仅有一个不变的connection进行数据库事务的操作
在使用封装的通用操作数据库方法里,存在获取数据库连接对象的操作,从而导致每次有sql语句调用此通用方法时都会获得一个不同的数据库连接对象,导致这些sql语句不能组成事务(因为Connection的setAutoCommit()方法是针对Connection对象生效的)所以会导致下面的情况:两条sql”组成了表面上的事务“,但其中一条出错后也不能回滚,一个账户减了500元,另一个账户没有加上。public class GetDifferentConnection { public static Co原创 2021-12-05 19:11:24 · 4003 阅读 · 0 评论 -
JDBC获取数据表中的内容创建对象并存到集合中
我们打算拿到数据库中某一数据表中的内容,但我们并不知道该数据表的列名和行数时怎么办?使用元数据,获取数据表的行数(实例数)、列数(属性的个数)、列名(属性名)我们拿到数据表中的内容,并根据每一行的内容创建一个对象,但我们并不知道需要什么类型的对象。1、使用泛型 2、使用反射创建对象,因为需要在运行中获取泛型的具体类型,然后创建此类型的对象其中getConnection()和closeResource()方法时提供好的获取数据库链接和关闭资源的方法,无关紧要,不做展示。具体实现详见代码及原创 2021-12-05 09:49:19 · 789 阅读 · 0 评论 -
JAVA定义一个返回值类型为泛型的方法
表示本方法持有一个不确定类型T,表示本方法是一个泛型方法T 返回值类型为T类型的对象Class clazz:只有通过反射才能拿到泛型T的对象,因为方法运行时才知道泛型的真正类型throws IllegalAccessException, InstantiationException:newInstance()方法抛出了异常/* * <T>表示本方法持有一个不确定类型T,表示本方法是一个泛型方法 * T 返回值类型为T类型的对象 * Class<T> clazz:只有.原创 2021-12-04 21:42:31 · 8864 阅读 · 0 评论 -
java中三种TreeMap存放自定义类型的Key的方法
1、自定义类实现内部比较器Comparable接口并重写compareTo方法2、在新类中实现外部比较器Comparator并重写compare方法3、使用匿名内部类实现外部比较器Comparator并重写compare方法package TreeMap;import org.junit.Test;import java.util.Comparator;import java.util.Map;import java.util.TreeMap;public class DemoTree原创 2021-11-28 22:19:09 · 722 阅读 · 1 评论 -
JAVA多线程等待唤醒案例:一个厨师一个服务员十份菜问题
案例:有家餐馆的取餐口只能放10份快餐,厨师做完快餐放在取餐口,服务员从这个取餐口取出快餐。现在有1个厨师和1个服务员。且服务员不是等到10份餐放满才取菜,厨师不是等到10份菜都取完才做菜。package ThreadMessage;public class Practice { public static void main(String[] args) { RestaurantThread waiterThread = new WaiterThread();原创 2021-11-27 16:39:26 · 3273 阅读 · 0 评论 -
JAVA静态内部类与非静态内部类的知识点
package StaticInnerClassPackage;//静态内部类的初始化不需要依附外部类,在使用时才初始化。不过在初始化静态内部类的过程中也会初始化外部类。public class OuterClass extends Person { private static int OutStaticVarPrivate = 1; static int OutStaticVarNotPrivate = 2; int OutVarNotStaticNotPrivate = 3原创 2021-11-24 15:21:29 · 804 阅读 · 0 评论 -
JAVA接口的相关知识点
1、接口中可以定义:- 静态常量:所有成员变量默认被public static final修饰- 默认方法:解决接口升级问题。在接口中default不能省略,表示一个方法是默认方法,在实现类中重写时不能写default- 抽象方法:可以有具体的返回值类型,也可以void- 私有方法:为静态方法和默认方法服务,抽取相同代码块- 静态方法:不要忘记静态方法是非虚方法,不能被子类和实现类重写(示例见接口1)2、除私有方法外,接口中的其它元素默认被public修饰(示例见接口1)(示例见接口.原创 2021-11-23 11:46:08 · 530 阅读 · 0 评论 -
JAVA向上转型(多态)的三种应用形式
应用在方法的形参中package poly;public class PolyUsedForParameters { public static void main(String[] args) { /*多态的基本形式*/ Person person = new Chinese(); person.eat(); /* * 编译看左:是否编译报错要看等号左边的类中有没有调用的方法 * 运行看右:运原创 2021-11-21 17:02:40 · 308 阅读 · 0 评论 -
JAVA向下转型的错误示例和正确示例
向上转型导致“向父类转型子类对象调用子类特有方法”即使运行时无错也无法通过编译,若想调用子类特有方法应该解决此编译出错问题。解决方法:向下转型。将经历过向上转型的子类对象再强制“转回来”。 转回来意思是,不能转成除本子类以外的其他类。如果转成除本子类以外的其他类,编译不报错但运行时会出现ClassCastExceptionpackage poly;/* * 向上转型导致“向父类转型子类对象调用子类特有方法”即使运行时无错也无法通过编译,若想调用子类特有方法应该原创 2021-11-21 16:57:54 · 1328 阅读 · 0 评论 -
java中this()和super()使用的测试案例
父类Person:package Super;public class Person { String name; int age; double salary; double height; public Person() { System.out.println("调用父类无参构造器"); } public Person(String name, int age, double salary) { Sys原创 2021-11-20 16:30:13 · 451 阅读 · 0 评论 -
客户端禁了cookie后,session也失效的问题
**客户端禁了cookie后,session也失效的问题**大家可能会在初学servlet的时候有这么一个疑问,session和cookie明明是两个不同的规范,为什么客户端禁止了cookie对session也会产生失效。因为,服务器在创建session后,需要将sessionID传递给客户端,传递给客户端的方法有两种,一是URL重写机制,二是使用cookie传递。如果客户端禁止了cookie,而你的代码中又没有实现URL重写,那么,你的sessionID是无法进行传送的,自然也就是session原创 2020-12-09 20:21:53 · 805 阅读 · 0 评论