Java语法笔记
LI耳
The key to acquiring proficiency in any task is repetition.
勤学苦练才能熟能生巧。
展开
-
【Java】字符串
首先,它使得字符串在多线程环境中是线程安全的,不需要额外的同步措施。其次,不可变性提供了字符串池(string pool)的机制,可以节省内存和提高性能。字符串池是一个存储字符串常量的缓存区域,当创建字符串时,会首先检查池中是否已经存在相同值的字符串,如果存在则直接返回引用,避免创建重复的字符串对象。每次对字符串进行修改时,实际上都会创建一个新的字符串对象。了解字符串的不可变性有助于我们更好地理解字符串操作的特性和原理。操作符将两个字符串拼接在一起时,实际上会创建一个新的字符串对象。字符串对象不会被修改。原创 2023-05-04 23:50:28 · 55 阅读 · 0 评论 -
【无标题】
然后,我们介绍了如何使用Java编写串口通信程序,包括使用gnu.io、JSSC和RXTX等库进行串口通信的示例代码。在实际开发中,还需要考虑如何处理和显示传感器数据,如何与下位机进行通信和控制,以及如何设计和实现上位机的用户界面等问题。在进行通信时,应考虑通信协议、数据格式、通信速率等因素,并根据需要进行数据的校验和加密。在进行控制时,应考虑控制命令的类型、格式、精度等因素,并根据需要进行数据的转换和计算。在处理数据时,应考虑数据的类型、格式、精度等因素,并根据需要进行转换和计算。二、Java图形界面。原创 2023-04-26 21:34:00 · 1374 阅读 · 0 评论 -
【Java】内部类
内部类可以访问外部类的所有成员变量和方法,包括私有成员,而外部类不能访问内部类的成员。成员内部类是定义在一个类内部的类,并且不是静态的。包括成员内部类、局部内部类、匿名内部类和静态内部类。Java中有四种类型的内部类:成员内部类、局部内部类、匿名内部类和静态内部类。匿名内部类是没有名字的内部类,通常用于创建一个实现某个接口或继承某个类的对象。内部类可以访问外部类的所有成员变量和方法,包括私有成员,但外部类不能访问内部类的成员。成员内部类和静态内部类可以拥有静态成员,局部内部类和匿名内部类不能拥有静态成员。原创 2023-04-24 21:15:09 · 389 阅读 · 0 评论 -
【Java】try-catch
如果文件不存在,则会抛出 FileNotFoundException 异常,程序将跳转到 catch 块,输出错误消息并打印堆栈跟踪。在上面的代码中,我们使用了一个 Exception 类型的变量 e 来捕获异常。在 Java 中,使用 try-catch 块可以处理可能会抛出异常的代码。try 块包含可能会抛出异常的代码,而 catch 块用于捕获并处理异常。当异常被抛出时,程序将跳转到 catch 块,其中的代码将处理异常。您可以根据需要编写多个 catch 块来处理不同类型的异常。原创 2023-04-22 22:59:48 · 108 阅读 · 0 评论 -
【Java】数组
如果您需要动态地添加或删除元素,则应该使用 Java 中的集合类,如 ArrayList 或 LinkedList。这些集合类可以根据需要自动调整大小,并提供了一组实用的方法来操作它们。使用集合类可以使代码更加灵活和易于维护。Java 中的数组是固定长度的,一旦创建后无法更改其大小。原创 2023-04-21 23:03:12 · 427 阅读 · 0 评论 -
【Java小知识】 String
Java 中的 String 类是一个不可变类。这意味着一旦创建了一个字符串对象,就无法更改该对象的值。例如,如果您创建了一个字符串变量,并将其设置为 "Hello",则无法更改该变量的值为 "World"。相反,如果要更改该值,则必须创建一个新的字符串对象并将其分配给该变量。这种不可变性提供了安全性和可靠性,因为它确保在多个线程和并发操作中不会更改字符串的值,从而避免了一些常见的错误和异常。原创 2023-04-20 22:26:36 · 50 阅读 · 0 评论 -
【Java】小知识:变量
强制类型转换是指当数据类型范围大的变量赋给数据类型范围小的变量时,需要通过强制类型转换来完成。需要注意的是,当数据类型范围大的变量赋给数据类型范围小的变量时,可能会发生数据丢失或精度降低的情况,因此需要谨慎使用强制类型转换。类作用域是指在类中定义的变量,它的作用域从定义变量的位置开始,直到类的结束位置。方法作用域是指在方法中定义的变量,它的作用域从定义变量的位置开始,直到方法的结束位置。自动类型转换是指当数据类型范围小的变量赋给数据类型范围大的变量时,会自动将小范围的数据类型转换为大范围的数据类型。原创 2023-04-19 23:02:59 · 394 阅读 · 0 评论 -
【Java】标识符
同时,为了代码的可读性和可维护性,建议在使用标识符时遵循一定的命名约定,例如使用驼峰命名法(camel case)或下划线命名法(underscore case)等。Java中的标识符(identifier)是指程序中用来命名变量、方法、类、包等元素的名称。不能使用Java关键字作为标识符,例如“class”、“public”、“static”等。标识符是大小写敏感的,例如“name”和“Name”是两个不同的标识符。标识符的其他部分可以是字母、数字、下划线或美元符号。标识符的长度没有限制。原创 2023-04-18 23:02:53 · 624 阅读 · 0 评论 -
【Java】 “new“ 关键字
需要注意的是,"new" 关键字可能会分配内存,因此如果你在一个循环中频繁地创建新的对象,可能会对系统资源造成负担。在这种情况下,你可以考虑重用对象或使用对象池等技术来提高性能和效率。在这个例子中,我们使用了 "new" 关键字来创建一个新的字符串对象,然后将其分配给名为 "myString" 的变量。你可以用类似的方式创建其他类型的对象,如数组、集合等等。在Java中,如果你想要创建一个新的对象,你可以使用 "new" 关键字。原创 2023-04-17 23:00:35 · 375 阅读 · 0 评论 -
【Java】遍历集合中的元素
使用 forEach() 方法不仅简单,而且还可以让代码更加清晰易读。此外,这种方法也支持并行遍历,可以更快地处理大量数据。Java 8 中提供了一种简便的遍历集合的方法,使用 forEach() 方法可以很容易地遍历集合中的元素。上面的代码使用 forEach() 方法和 Lambda 表达式来遍历集合,将其中的每个元素打印到控制台上。这是一个简单的 Java 技巧,希望对您有所帮助。原创 2023-04-16 21:07:03 · 190 阅读 · 0 评论 -
try-with-resources
接口的资源,比如文件、数据库连接、网络连接等。这个语句可以在代码块结束时自动关闭资源,而不需要显式调用。这个小技巧可以帮助你更方便地管理资源,并避免资源泄漏和错误处理中的常见问题。对象将自动被关闭,无需手动调用。在Java中,可以使用。语句来自动关闭实现了。原创 2023-04-15 23:34:06 · 98 阅读 · 0 评论 -
Java小技巧 #1:使用StringBuilder代替String拼接
当我们需要拼接多个字符串时,使用String的"+"运算符会导致性能问题,因为每次拼接都会创建一个新的String对象。而使用StringBuilder则可以避免这个问题,因为它可以在同一个对象上进行操作,避免了创建多个对象的开销。使用StringBuilder比直接使用String拼接字符串更加高效,特别是在需要拼接大量字符串时。原创 2023-04-14 23:19:24 · 193 阅读 · 0 评论 -
【Java】Servlet
版本:idea2021.2.3原创 2022-04-16 03:30:00 · 322 阅读 · 1 评论 -
【笔记】JDBC的使用
0.jdbc的入门使用1.查询数据库new Driver()是导包mysql驱动里面的。import com.mysql.jdbc.Driver;不需要释放资源Exception in thread "main" java.sql.SQLException: Before start of result set取数据传入的参数写错了 String url = "jdbc:mysql://localhost:3306/jdbc_demo"; String url = "协议:子原创 2022-04-06 14:57:48 · 1332 阅读 · 0 评论 -
【Java】动态代理
动态代理对Collection接口进行代理,以前的remove(Object obj)方法是删除集合中第一次出现的元素(比如集合中有多个“abc”,调用remove(“abc”)后只会删除第一个元素)。代理后,要求在调用remove(Object obj)方法后,能够删除集合中所有匹配的元素。使用步骤:1.判断是否需要请求代理2.如果需要,确定请代理的位置3.使用Proxy调用newProxyInstance方法,得到代理对象4.对得到的代理对象进行向下转型----转换成接原创 2022-03-29 06:45:00 · 294 阅读 · 0 评论 -
【Java】工厂设计模式
工厂设计模式这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。之前我们创建类对象时, 都是使用new 对象的形式创建,除new 对象方式以外, 工厂模式也可以创建对象.耦合度: 类与类之间的关系,如果关系比较强,高耦合, 如果关系比较弱,低耦合(开发)区别:需求: 有10个类,需要在10个测试类中,分别创建这10个类的对象以前:直接通过new 来创建 --->每一个测试类都需要和这10个类进行关联--(耦合度高)工厂模式:定义一个工厂类,专门用来原创 2022-03-28 06:45:00 · 420 阅读 · 0 评论 -
【Java】枚举
枚举枚举是一种引用数据类型,java中枚举的底层是一个有固定个数对象的"特殊类"。所以如果某种类型的数据有固定个值,就可以定义为枚举类型。比如性别, 季节,方向。未使用枚举package com.jcli.demo03_枚举;public class Person03 { private String name; private String sex; public Person03() { } public Person03(String原创 2022-03-27 06:45:00 · 199 阅读 · 0 评论 -
【Java】多例设计模式
多例设计模式应用该模式的类有固定个数对象产生实现步骤// 1.将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。// 2.创建一个单列集合,用来存储该类的对象// 3.在该类内部产生固定数量的对象--->只创建一次// 创建该类的对象// 把对象添加到list集合中// 4.提供一个静态方法来随机获取一个该类的对象// 1.创建Random对象// 2.产生一个随机数// 3.根据随机数获取对象// 4.返回对象package com.jcli原创 2022-03-26 06:45:00 · 676 阅读 · 0 评论 -
【Java】单例设计模式
单例设计模式的好处保证使用该模式设计的类只有1个对象产生步骤: 1.将构造方法私有化 2.在类的内部创建该类的唯一对象 3.提供公共静态方法用来获取该类的唯一对象饿汉模式概述: 懒汉单例设计模式就是调用getInstance()方法时对象才被创建,先不急着创建出对象,等要用的时候才创建对象。步骤:// 1.将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。// 2.在该类的内部创建一个该类唯一的对象// 3.提供一个公...原创 2022-03-25 16:58:27 · 68 阅读 · 0 评论 -
【总结】文件上传1
目录问题1.方法中的static可以省略吗!2.idea中调出来快速创建类和包的图标!3.file之getAbsolutePath()!4.增强for循环的快捷键!~5.怎么在递归中统计指定文件个数!6.ReNamer pro使用教程基础知识总结【Java】Lambda表达式【Java】File删增查【Java】递归问题1.方法中的static可以省略吗!2.idea中调出来快速创建类和包的图标!3.file之getAbso原创 2022-03-20 00:58:17 · 126 阅读 · 0 评论 -
【Java】递归
程序中的递归: 方法自己调用自己注意: 1.递归一定要有出口,否则会报栈内存溢出错误StackOverflowError 2.递归的出口不能太晚,否则会报栈内存溢出错误StackOverflowErrorpackage com.jcli;/** * 递归 */public class Test07 { static int count = 0; public static void main(String[] args) { /* .原创 2022-03-19 19:04:46 · 518 阅读 · 0 评论 -
【Java】File类
java.io.File 类是用来表示文件或者文件夹路径,可以用于对文件和文件夹的创建、查找和删除等操作。1.File类的构造方法//- `public File(String pathname) ` :通过将给定的**路径名字符串**转换为抽象路径名来创建新的 File实例。//- `public File(String parent, String child) ` :从**父路径名字符串和子路径名字符串**创建新的 File实例。//- `public File(File p原创 2022-03-21 06:00:00 · 402 阅读 · 0 评论 -
【Java】Lambda表达式
目录Lambda表达式函数式编程思想概述面向对象编程思想函数编程思想Lambda表达式的体验Lambda表达式的标准格式Lambda表达式省略格式Lambda的表现形式Lambda表达式 使用Lambda表达式的前提: 函数式接口 函数式接口: 接口中有且仅有一个抽象方法,该接口就是函数接口 使用套路: 判断是否可以使用Lambda表达式---->使用前提 如果可以使用,那么就直接写上()->{}原创 2022-03-21 06:00:00 · 363 阅读 · 0 评论 -
【Java】排序算法
冒泡排序 原理 对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面 案例 // 定义int类型数组 // 外层循环控制比较轮数--》n-1轮 // 内层循环控制每层比较次数 ...原创 2022-03-20 06:00:00 · 90 阅读 · 0 评论 -
01Java语法--JavaWeb
类继承HttpServlet重写doPost(),doGet()方法后,doGet()方法中 doPost(req, resp); 语句可以省略 this 关键字。原创 2021-07-25 23:06:15 · 54 阅读 · 0 评论