- 博客(17)
- 收藏
- 关注
原创 JAVA笔记(JDBC)
Statement: "SELECT * FROM user WHERE name = '" + input + "'" ,输入 ' OR 1=1 -- 会导致全表泄露。System.out.println("ID: " + id + ", 姓名: " + name);String sql = "INSERT INTO user(name, age) VALUES('张三', 25)";"插入成功" : "失败");executeQuery():执行SQL语句的查询 Query:查询。
2025-06-05 19:51:13
357
原创 Java笔记(枚举类—JDBC—)
继承java.lang.Enum,不能再继承其他类,但可实现接口,有两种实现方式:。关系对象映射:数据库中的表都可以转换为对象 user → User。枚举可以有实例,但是不能直接new,枚举中的每个元素就是它的实例。executeUpdate():执 行SQL语句。JDBC:提供一个标准的执行SQL语句的API。Java中的枚举是一种特殊形式的Java类。因为枚举的实例不能随意创建。为什么枚举的构造函数要私有化?枚举的构造函数必须为私有的。JDBC的驱动:将文件。URL:统一资源定位器。
2025-05-29 18:41:09
293
原创 Java笔记(网络编程)
网络模型(OSI (Open System Interconnect) 开放式系统互联,IOS制订)协议类型 →源IP →目标IP →源端口→目标端口→帧编号→ 帧数据。注意:1024以下的端口勿用,因为1024以下的被大型软件占用了。发:-dp = new DatagramSocket();DatagramSocket("ip", 端口);DatagramSocket(端口);端口应用:端口(1024,256*256)TCP、UDP:网络层的通信协议。网络层 → IP层。域转换 分级查询机制。
2025-05-22 18:06:19
129
原创 Java笔记(文件的分割和合并-序列化-反射)
Properties主要用于处理key = value格式的配置文件的读取,好处:更方便获得value。反序列化:transient关键字(这个属性就不会被序列化,序列化主要是对属性的序列化)// 全限定名:包含了类名。反射 解决了:只要给我Class文件就可以获得类的一切。文件的后缀名对文件的本身没有影响,可以随便设置。
2025-05-15 18:15:25
169
原创 Java笔记(字符流-字节流等-合并文件)
返回:读入缓冲区的字节总数,如果因为已经到达文件尾而没有更多数据则返回 -1。字符流有缓冲区,只有当关闭流或者强制刷新或者缓冲区装满了才会写出到目标文件。分为字节打印流和字符打印流:PrintWriter ,PrintStream。字符流如果没有正常关闭流,不会写出到文件,字符流不关闭一样可以写出文件。合并流如果要合并超过两个以上的源,必须使用Enumeration。集合了字符流和字节流的所有特点,使用时是字符,存的是字节。java中如果输出流的目标文件不存在,会自动创建。读入到文件(读的顺序需要和写的。
2025-05-08 18:40:15
286
2
原创 JAVA笔记(集合-IO流)
通用写法:String path = "E:" + File.separator + "java" + File.separator + "test" + File.separator + "mei ren.txt";路径:IO 流中只能用绝对路径,在 windows 中路径的分隔符 \ / 都可以,但是在 linux 中只能用 /用于有顺序的排序,采用的是二叉树排序 ,为让自定义的对象具有比较的能力,必须定义比较器。增加:map.put("...", "...") 前: key 后: value。
2025-04-24 20:19:55
331
原创 Java(泛型-类集合)
泛型中不能用父类来接收子类 例: Pointer<Object, Object> pointer = new Pointer<Integer, Integer>(3, 4);super 等价于 >=(只能是自己或父类):1. super调用父类的方法。如果子类在实现带有泛型的接口时,不知道具体的数据类型,直接在子类中写上泛型。Vector子类(一个本应该淘汰的类,只因以前的人使用管了保存了下来)泛型:可以使用任意字母,但是一定要大写,建议优先是T V Z。不能用泛型去修饰接口中常量,因为常量是静态的。
2025-04-17 19:29:04
317
原创 Java(math类-Biglntegr类-对象的克隆)
产生的整数0 - 1 (不包含1)案例:system. ... (random.nextInt (bound:10)+1);Math中的floor是取整,直接去掉小数,不会四舍五入 例: Math.floor()system. ...(“商是: bigs[0] + bigs[1]”);特点: 产生小数 0 - 1 (不包含1)divide( );克隆的目的是为了克隆对象的数据。
2025-04-17 19:11:59
145
原创 Java(线程同步,Java常用类)
比如执行系统命令 ping www.baidu.com ,代码为 try { Process process = runtime.exec("ping www.baidu.com");- 可变性:与不可变的 String 类同, StringBuffer 对象的内容和长度可动态改变,在修改字符串时无需创建新对象,能提升效率、节省内存。- maxMemory方法:返回Java虚拟机可使用的最大内存量(字节数) , long maxMem = runtime.maxMemory();
2025-04-10 18:52:59
303
原创 Java(多线程)
不要用stop函数强制停止线程,强制停止线程会让程序处于不可控的状态。什么是线程:进程(一个应用程序就对应一个进程,占用内存、资源)Java程序执行时至少有两个线程,分别为主线程和垃圾回收线程。为了完成一个进程中的多个对象的控制,一个进程分为了多个线程。run()所有要执行的(多线程代码要写在里面)第一种线程的创建方法使用更方便。实现Runnable接口。start()开始函数。
2025-04-02 13:48:51
115
原创 Java(异常处理-包)
printStackTrace() :获取异常类名和异常信息,以及异常出现在程序中的位置。如果父类抛出多个异常,那么覆写(覆盖)方法必须抛出那些异常的一个子集,不能抛出新的异常。//如果这个函数将来有异常处理,有两种策略,1.立即用try处理,2.不处理,抛给调用。toString() :获取异常类名和异常信息,返回字符串。例: System.out --- (e.getMessage());例: System.out --- (e);一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类。
2025-03-27 19:33:06
330
原创 java笔记(解耦-类部类-异常-包装类)
适配器设计模式:在继承接口时,要全部实现接口中的方法,这样很多用不到的也要实现很麻烦,所以就有适配器的出现,即创建一个抽象类并用抽象类里的空方法体来实现接口中的所有方法,然后其他类从这个抽象类中继承,就可以有选择地实现相关方法。类的设计主要是父类的设计,子类最好不要去继承一个已经完全实现好了的类,因为一旦发生向上转型,所调用的方法一定是被子类覆盖过的方法,所以只会返回子类重写的结果。耦合度:耦合越高,联系越紧密,耦合度越低,联系就不紧密。第一种:依赖外部类,定义一个创建内部类的方法。软件开发追求低耦合度。
2025-03-20 19:26:07
223
原创 Java笔记
子类重写了父类的方法后,子类创建的实例就会以就近原则调用重写后的方法。态,其实就是用父类来接受子类的实例,而子类覆盖父类方法。如果既可以用抽象类又可以用接口,优先使用接口,因为接口可以多实现。子类调用父类用 super 如:super.eat();java中只能有一个父类(单继承),但是可以多层继承。注意:Java中子类可以实现新接口(单继承,多实现)方法的重写,注意重写(父子)和重载(同一个类中)子类在创建实例会调用所有超多层的父类,都会调用。子类不能继承父类的私有的成员变量。
2025-03-13 19:24:21
184
原创 Java笔记
Java针对String name2 = "huairen" 这种最常用的字符串的创建形式进行了优化,如果内容相同,只开辟一次存储空间存一次。在windows中/和\都可以做路径的分割符,但是linux操作系统中只能/,推荐大家以后写路径使用/。//在实际开发中不要轻易定义为静态变量,静态变量是跟随类的加载而加载消亡而消亡,生命周期太长,内存的浪费。面向过程首先考虑的是怎么做,而面向对象先考虑的是让谁(类)做然后再考虑怎么做。是跟随类的加载而加载,存在静态存储区,所有的对象共享一个。
2025-03-06 19:33:29
257
原创 Java笔记
例如:system.out.println (5/2);:非 |:或 &&: 短路与,因为其效率更高,只需判断第一个。例如:if(1<0&& 3>1)从高精度到低精度,必须强制转换 EX:(int)num, 不是四舍五入。Java语言中所有范围开始和结束值,通常只包含开始值,不包含结束值。例如在 fromIndex (包括) 和 toIndex(不包括)计算机里面负数是以补码的形式存储,并且最高位用1表示为负。效率、稳定性、可阅读性、健壮性、可维护、可扩展性、安全性。if 中:如果有与的关系就用逻辑运算。
2025-02-27 19:42:44
241
原创 Java基础语法笔记
1)定义变量:程序在执行过程中有些数据需要临时存放,所以在内存中临时开辟空间来存,并且会跟程序的执行而发生变化。转义字符:java程序中,有些符号被系统征用,例如“\”,如果想要表达它需要转义,这转义的前导符为\。变量的命名规则是第一个单词的首字母不大写,其他单词的首字母都要大写studentScore。2)数据类型是为解决定义变量时内存开辟空间的大小问题,实现对内存的高效管理的问题。计算机的字符本质都是二进制数,这就是计算机加密技术的理论基础。
2025-02-27 19:41:06
182
原创 JAVA笔记
文件名要和public类同名,所有一个文件只能有一个public类,一个文件可以没有public类,可以有多个普通类,每类编码后都会形成一个单独的字节码文件。软祥版本的选择:不要选最新的,选最稳定版本《次新版次次新版,考虑硬件的性能)高级语言:c语言 VB Python C++ C# php Java。Java虚拟机(Java Virtual Machine)javac:将java源程序编译成字节码文件。java:执行java的字节码文件。2、面向对象:java。java的特性:跨平台。
2025-02-20 16:58:43
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人