随笔分类 - Java
摘要:常用判空的工具 对象的判空 推荐统一使用 java.util 包的 Objects.nonNull() 等方法。 集合的判空 推荐统一使用 org.apache.commons.collections.CollectionUtils 包的 .isNotEmpty() 等方法。 Map 对象判空 推荐
阅读全文
摘要:一、PO :(persistant object ),持久对象 可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。 二、VO :(value object) ,值对象 通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以
阅读全文
摘要:在 Java 系统工程开发过程中,都会有各个层之间的对象转换,比如 VO、DTO、PO、VO 等,而如果都是手动get、set又太浪费时间,还可能操作错误, 选择一个自动化工具会更加方便。目前市面上有大概12种类型转换的操作,如下: MapStruct可以直接在编译期间生成get set方法,非常方
阅读全文
摘要:HashCode为什么使用31作为乘数? 之所以使用 31, 是因为他是一个奇素数。如果乘数是偶数,并且乘法溢出的话,信息就会丢失,因为与2相乘等价于移位运算(低位补0)。 所谓素数:质数又称素数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。 使用素数的好处并不很明显,
阅读全文
摘要:打开一个终端窗口 输入命令:sudo /usr/local/mysql/bin/mysql -u root -p 输入密码:然后输入自己电脑密码和mysql密码 进入之后 mysql> ALTER user root@'localhost' identified by '123456'; mysql
阅读全文
摘要:进度 环境、配置、规范 搭建(DDD + RPC)架构 跑通广播模式RPC过程调用 抽奖活动策略库表设计 抽奖策略领域模块开发 遇到的问题 (第三节)跑通RPC调用例子时失败,经过仔细比对+研究issue发现 是dubbo的服务端注解service是spring的,改为dubbo的service注解
阅读全文
摘要:新建一个类 TomcatServerCustomerConfig 实现接口 WebServerFactoryCustomizer 这些就可以同时有http接口和https接口了。基于springbott+tomcat import org.apache.catalina.connector.Conn
阅读全文
摘要:使用alibaba的easyExcel 一定要给要导出的类加注解, 例:@ExcelProperty(value = "文件传输结果(1=成功,0=失败,2=未传输)") 导出的excel文件如果是只有属性没有值,查看自己的查询条件是否由默认值影响了 异步导出,先确定好list是否为0,再返回成功
阅读全文
摘要:1. 获取最大或者最小值,直接获取map所有的value,进行排序,获取obj[0] 或者obj[length-1]即可 ``` //定义一个map Map map = new HashMap(); map.put("1", 8); map.put("2", 12); map.put("3", 53
阅读全文
摘要:今天刷算法遇到的一个题里用到了这个运算。不太明白为什么要-0 int digitA = i >= 0 ? a.charAt(i) - '0' : 0; // 当前 a 的取值 查询过后才知道,char运算本质是转换为ASCII码进行运算,'0'在ASCII码中表示48,'0'前面的表示一些符号。减去
阅读全文
摘要:**1. 运行你的程序** 代码示例: ``` public class DeadLockTest { static final Object A = new Object(); static final Object B = new Object(); public static void mai
阅读全文
摘要:今天遇到了git update失败。 记录一下 错误: git SSL certificate problem: unable to get local issuer certificate > 这个问题是由于没有配置信任的服务器HTTPS验证。默认,cURL被设为不信任任何CAs,就是说,它不信任
阅读全文
摘要:对下载的文件名不太满意,抽取了公共的字符串进行删除后重命名 ``` package com.javaSe.Demo; import java.io.File; import java.util.ArrayList; import java.util.List; /** * 对一个文件夹里的文件进行批
阅读全文
摘要:栈帧:每个方法调用时创建。每次调用都会创建一个栈帧,运行完释放该内存。 每个线程的栈内存相互独立,互不干扰. 堆内存:需要JVM进行垃圾回收。
阅读全文
摘要:# NET ## DES ### 网络编程 网络编程,就是在一定的协议下,实现两台计算机的通信的技术 通信一定是基于软件结构实现的: * C/S 结构 :全称为 Client/Server 结构,是指客户端和服务器结构,常见程序有 QQ、IDEA 等软件 * B/S 结构 :全称为 Browser/
阅读全文
摘要:# JUC ## 进程 ### 概述 进程:程序是静止的,进程实体的运行过程就是进程,是系统进行**资源分配的基本单位** 进程的特征:并发性、异步性、动态性、独立性、结构性 **线程**:线程是属于进程的,是一个基本的 CPU 执行单元,是程序执行流的最小单元。线程是进程中的一个实体,是系统**独
阅读全文
摘要:首先截取文件后缀名。后缀是XML文件再进入此判断,避免不必要的资源占用。 /** * 判断一个文件是否是XML文件 * * @param file * @return */ private static boolean isXmlDocument(File file) { boolean flag;
阅读全文
摘要:国产/linux专用机 部署说明 安装数据库mysql5.7(自行安装) 在数据库中创建库 前置需要创建的库名为->【ry_front】 后置需要创建的库名为->【ry_later】 进入MySQL,输入密码 > mysql -uroot -p [例]:mysql>create database r
阅读全文
摘要:「链表 Linked List」是一种线性数据结构,其中每个元素都是单独的对象,各个元素(一般称为结点)之间通过指针连接。由于结点中记录了连接关系,因此链表的存储方式相比于数组更加灵活,系统不必保证内存地址的连续性。 链表的「结点 Node」包含两项数据,一是结点「值 Value」,二是指向下一结点
阅读全文
摘要:linux打rpm包 rpm 准备工作 创建一个.spec文件与.service文件 service文件 本文服务名以test为例 [Unit] Description=test After=mariadb.service [Service] Type=simple ExecStart=/usr/b
阅读全文