![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
J2SE
齐天qaq
生活给我一颗酸柠檬,我把它酿成了柠檬汽水。
展开
-
日期与时间知识分享(时区、本地时间、时刻、夏令时等)
时间、时区、时刻、夏令时等知识分享。原创 2024-02-20 09:59:17 · 226 阅读 · 0 评论 -
字符串由数字和字母组合如何自定义排序
这段代码首先定义了一个字符串列表,然后使用Collections.sort()方法对其进行排序。在这个比较器中,我们首先使用正则表达式\\D(匹配任何非数字字符)来提取字符串中的数字部分,并将其转换为整数。然后,我们比较这两个数字。如果数字相同,我们就使用字符串的自然顺序(即字典顺序)来比较字母部分。要实现这个功能,你可以使用Java中的Collections.sort()方法,结合自定义的比较器(Comparator)。这个比较器首先会比较字符串中的数字部分,如果数字相同,则会比较字母部分。原创 2024-02-20 09:39:45 · 231 阅读 · 0 评论 -
序列化和反序列化
序列化(Serialization):将对象状态或数据结构转换成一种格式(如JSON, XML, 字节流等)以便在网络中传输或保存到文件中。反序列化(Deserialization):它是将序列化过的数据格式(如JSON, XML, 字节流等)转换回原来的对象状态或数据结构。原创 2024-01-31 16:46:32 · 1127 阅读 · 0 评论 -
正则表达式的基本匹配规则
正则表达式基本匹配规则原创 2023-12-25 16:49:40 · 41 阅读 · 0 评论 -
聊聊Java算法的时间复杂度
所以,这些增长数量级并不是一个准确的性能评价,可以理解为一个近似值,时间的增长近似于logN、NlogN的曲线。时间复杂度这个东西,其实更准确点说应该是描述一个算法在问题规模不断增大时对应的时。常见时间复杂度之间的关系。原创 2023-12-25 16:25:36 · 160 阅读 · 0 评论 -
@Transactional注解失效的几个场景
@Transactional注解失效的几个场景。原创 2023-11-30 15:09:54 · 225 阅读 · 0 评论 -
实体类中字段为什么设置成private
齐天的信息必须以另外的方式提供给类外部访问或者改变。这样看起来并没有带来什么问题,该实例通过操作公有字段很容易达到存取状态信息的目的,然而封装原则告诉我们:类的字段信息最好以私有方式提供给类的外部,而不是以公有方式来实现,否则不适当的操作将造成不必要的错误方式,破坏对象的状态信息,数据安全性和可靠性无法保证。,这样可以很有效的保证数据的安全性与合法性,如果你需要赋值,你可以对传过来的数据在set方法中进行判断和处理,你也可以不写set方法,只写一个get方法,让这个数据就只有查看权限。原创 2023-11-17 14:43:10 · 399 阅读 · 0 评论 -
Java日期中YYYY与yyyy的区别
原创 2023-11-09 10:25:29 · 59 阅读 · 1 评论 -
使用HttpClient实现消息推送
创建HttpClient对象。帮助我们执行请求的对象创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。请求方式如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity entity)方法来设置请求参数。封装传参。原创 2023-11-09 10:13:59 · 885 阅读 · 1 评论 -
java8的stream流处理集合
第三个参数,若在转换中,出现多个相同的key,如何进行合并的Function。将userList 转换为key为id,value为User对象的map。将userList 转换为key为id,value为name的map。如果存在重复的key,会直接报错,想不报错的话,就可以利用第三个参数。(a, b) -> b的意思就是,如果存在重复的,永远取后面一个。p -> p -> 进来的是User对象,出去的也是User对象。第一个参数,用于指定key的Function。案例1:获取集合对象中的id列表。原创 2023-10-30 15:05:42 · 709 阅读 · 1 评论 -
Java 8 Stream处理List和Map之间的转换
Stream(流)是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。Java中的Stream并不会存储元素,而是按需计算。数据源流的来源。可以是集合,数组,I/O channel, 产生器generator 等。聚合操作类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。Pipelining: 中间操作都会返回流对象本身。转载 2023-10-30 15:21:46 · 2598 阅读 · 1 评论 -
在try catch中如何正确@Transactional(rollbackFor=Exception.class)
原因: Spring 使用了代理来实现事务管理,调用顺序是开启事务,执行目标方法,提交或回滚事务,虽然你的目标方法出现了异常,架不住你自己处理了,在代理类看来,目标方法没有抛出异常。spring中管理事务一般使用@Transactional 注解,最常见的用法,在方法上使用@Transactional 注解,事务正常起作用。无异常时正常提交,有异常时数据回滚。当抛出Exception时,执行回滚,但是如果被catch捕获异常后,如果不再抛出,@Transactional将不会生效,事务正常提交。原创 2023-10-26 14:00:20 · 600 阅读 · 0 评论 -
Java截取String字符串的方法
3.通过StringUtils类截取字符串。1.指定字符截取字符串,返回字符串数组。2.指定索引,截取字符串。原创 2023-08-14 14:07:45 · 3928 阅读 · 2 评论 -
Java中如何判断字符串、集合、对象是否为空
Java标准库提供了isEmpty()方法来判断一个字符串是否为空。此外,Apache Commons Lang库的StringUtils类提供了isEmpty()和isBlank()方法,前者用于判断字符串是否为空或null,后者还会检查字符串是否只包含空白字符。Java标准库的Collection接口提供了isEmpty()方法来判断一个集合是否为空。此外,Apache Commons Lang库的CollectionUtils类提供了isEmpty()方法,可以同时检查集合是否为null或空。原创 2023-10-20 09:53:22 · 292 阅读 · 1 评论