代码优化:当复制大量数据时,使用System.arraycopy()命令
摘要:注意:有两个前提,一个是数组赋值,一个是大量复制。 java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有: public static void arraycopy(Object src, int srcPos,
阅读全文
posted @
2022-01-24 15:44
周文豪
阅读(371)
推荐(0) 编辑
cronolog-1.6.2.tar.gz免费下载 。如何让catalina.out带上日期。
摘要:apache日志切割工具cronolog安装配置 本文简单介绍在使用cronolog对tomcat的日志进行自定义日期格式的切割,方便日志的整理和遇到问题日志的排查! 一、安装cronolog wget https://files.cnblogs.com/files/crazyzero/cronol
阅读全文
posted @
2022-01-24 15:08
周文豪
阅读(1614)
推荐(0) 编辑
代码优化:使用Objects.equals(Object a,Object b)来进行对象的比较
摘要:一、建议 推荐使用JDK7中新引入的Objects工具类来进行对象的equals比较,直接a.equals(b),有空指针异常的风险 public final class Objects {/** * Returns {@code true} if the arguments are equal t
阅读全文
posted @
2022-01-20 09:28
周文豪
阅读(780)
推荐(0) 编辑
代码优化:尽量重用对象。StringBuilder/StringBuffer/+/StringJoiner
摘要:一、字符串拼接 重点注意:对象 特别是String对象的使用,出现字符串拼接时应该使用StringBuilder/StringBuffer代替。由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此,生成过多的对象将会给程序的性能带来很大的影响。 字符串的拼接
阅读全文
posted @
2022-01-17 22:06
周文豪
阅读(235)
推荐(0) 编辑
代码优化:使用Entry遍历Map
摘要:推荐,尤其是容量大时 Map<String,String> map = new HashMap<>(); for (Map.Entry<String,String> entry : map.entrySet()) { String key = entry.getKey(); String value
阅读全文
posted @
2022-01-16 21:23
周文豪
阅读(642)
推荐(0) 编辑
代码优化:日志的输出要注意级别
摘要:当前的日志级别是error LOGGER.info("保存出错!" + user); 应该改为: LOGGER.error("保存出错!" + user); 例1:日志级别为error public Result resetUserPwd(User user) { Result rs = new R
阅读全文
posted @
2022-01-16 11:20
周文豪
阅读(61)
推荐(0) 编辑
代码优化:对资源的close()建议分开操作和及时关闭流
摘要:一、对资源的close()建议分开操作 如下: try{ XXX.close(); YYY.close(); } catch (Exception e){ ... } 建议改为 try{ XXX.close(); } catch (Exception e){ ... } try{ YYY.close
阅读全文
posted @
2022-01-16 11:15
周文豪
阅读(98)
推荐(0) 编辑
启动报错:Error Running cant find catalina.jar
摘要:原因:tomcat的位置不正确,将Idea中的tomcat删除,重新添加tomcat即可解决。
阅读全文
posted @
2022-01-14 10:05
周文豪
阅读(886)
推荐(0) 编辑
报错:invalid LOC header (bad signature)
摘要:报错如下: java: 读取D:\maven_prism\org\aspectj\aspectjweaver\1.9.1\aspectjweaver-1.9.1.jar时出错; invalid LOC header (bad signature) 原因分析:MAVEN本地仓库中的对应的某个jar没有
阅读全文
posted @
2022-01-14 09:45
周文豪
阅读(641)
推荐(0) 编辑
代码优化:尽量减少对变量的重复计算
摘要:明确一个概念,对方法的调用,即使方法中只有一句语句,也是有消耗的。 所以例如下面的操作: for (int i = 0; i < list.size(); i++) {...} 建议替换为: int length = list.size(); for (int i = 0, i < length;
阅读全文
posted @
2022-01-12 17:44
周文豪
阅读(53)
推荐(0) 编辑
代码优化:尽可能使用局部变量
摘要:代码优化: 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中,速度较快;其他变量,如静态变量、实例变量等,都在堆中创建,速度较慢。 另外,栈中创建的变量,随着方法的运行结束,这些内容就没了,不需要额外的垃圾回收。 变量根据定义位置的不同,我们给变量起了不同的名字。如下图所示: 成员变量和局
阅读全文
posted @
2022-01-12 17:42
周文豪
阅读(141)
推荐(0) 编辑
Apache JMeter的下载和安装
摘要:一、下载 下载地址:http://jmeter.apache.org/download_jmeter.cgi 点击Download Releases 下载之后的文件如下: 二、安装 解压即安装,解压之后如下所示 进入 bin目录,找到jmeter.bat文件,双机打开即可启动。
阅读全文
posted @
2022-01-12 15:25
周文豪
阅读(528)
推荐(0) 编辑
JVM优化第三天-tomcat优化
摘要:今日内容 Tomcat8 的优化看懂Java底层字节码编码的优化建议 PS:当我们做代码优化的时候,往往从源码中看不出有没有效率,而是需要从底层字节码寻找答案,作为java工程师必须读懂底层字节码 一、tomcat优化 tomcat服务器在JavaEE项目中使用率非常高,所以在生产环境对tomcat
阅读全文
posted @
2022-01-12 13:20
周文豪
阅读(25)
推荐(0) 编辑
报错:无法获取实体类XXX对应的表名!
摘要:启动类中@MapperScan注解不要引入 import org.mybatis.spring.annotation.MapperScan; 而应该引入 import tk.mybatis.spring.annotation.MapperScan;
阅读全文
posted @
2022-01-11 17:54
周文豪
阅读(404)
推荐(0) 编辑
报错:ORA-00907: 缺失右括号
摘要:语句如下: CREATE TABLE "YPS"."T_AGENT_ENT" ( "ID" VARCHAR2(50 BYTE) PRIMARY KEY NOT NULL, ... "AGENT_ENTITY_NAME" NVARCHAR2(50 BYTE) , "APP_KEY" NVARCHAR2
阅读全文
posted @
2022-01-11 14:32
周文豪
阅读(781)
推荐(0) 编辑
报错:列"AGENT_ENTITY_NAME"的值太大(实际值: 60,最大值50) oracle VARCHAR2和NVARCHAR2的区别
摘要:报错如下:"AGENT_ENTITY_NAME"的值太大(实际值:60,最大值:50) 原因:oracle数据库表中AGENT_ENTITY_NAME字段的长度为50,由于varhcar2单位默认是byte,而一个中文对应按utf8占3个字节的话,20个中文,长度就是60了。 解决办法:将AGENT
阅读全文
posted @
2022-01-11 11:00
周文豪
阅读(707)
推荐(0) 编辑
linux中查看端口是否被占用lsof -i:port
摘要:1、查看当前所有已经使用的端口情况 命令:netstat -nultp [root@VM-0-10-centos conf]# netstat -nultp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Ad
阅读全文
posted @
2022-01-09 13:26
周文豪
阅读(177)
推荐(0) 编辑
java-jvisualvm远程监控云服务器上的Tomcat8.5
摘要:一、修改要访问的远程主机(Linux)tomcat的catalina.sh文件 1、打开$CATALINA_HOME/bin/catalina.sh,在Execute The Requested Command前加入如下代码: CATALINA_OPTS="$CATALINA_OPTS -Djava
阅读全文
posted @
2022-01-09 13:22
周文豪
阅读(141)
推荐(0) 编辑
java-jvisualvm远程监控云服务器上的Tomcat7
摘要:一、修改要访问的远程主机(Linux)tomcat的catalina.sh文件 1、打开$CATALINA_HOME/bin/catalina.sh,添加如下内容: JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxr
阅读全文
posted @
2022-01-09 13:21
周文豪
阅读(98)
推荐(0) 编辑
服务器防火墙开放端口
摘要:启动防火墙 systemctl start firewalld 查看放开的端口 firewall-cmd --list-port 放开7000端口 firewall-cmd --zone=public --add-port=7000/tcp --permanent 重启防火墙 firewall-cm
阅读全文
posted @
2022-01-08 19:09
周文豪
阅读(101)
推荐(0) 编辑
多线程之守护线程
摘要:Java中有两种线程,一种是用户线程,另一种是守护线程。 1、用户线程 用户线程是指用户自定义创建的线程,主线程停止,用户线程不会停止。 public class Demo4Daemon { public static void main(String[] args) { Thread thread
阅读全文
posted @
2022-01-08 17:19
周文豪
阅读(158)
推荐(0) 编辑
MAT(Memory Analyzer Tool)下载和安装
摘要:一、下载 官网地址:https://www.eclipse.org/mat/ 点击download 由于要在本地电脑中运行,故选择window64位 点击,进入如下页面 点击DownLoad 可能由于网速的原因,下载失败,故用以前的安装波,如下: 解压: 二、安装 点击MemoryAnalyzer.
阅读全文
posted @
2022-01-07 12:35
周文豪
阅读(24881)
推荐(2) 编辑
多线程之join方法
摘要:join作用是让其他线程变为等待,我先执行。thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程(先执行指定的线程,再执行当前的线程)。比如在线程B(如主线程)中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。 public cla
阅读全文
posted @
2022-01-05 21:37
周文豪
阅读(1223)
推荐(0) 编辑
PLSQL过期解决办法
摘要:首先,登陆PL/SQL Developer,会出现这种情况,如图所示,就是PL/SQL Developer要到期了,或者已经到期了。 紧急处理办法是,输入指令“regedit”打开注册表,如图所示 指令输入完毕后,按回车键,会进入这个界面 然后,在注册表里按HKEY_CURRENT_USER\Sof
阅读全文
posted @
2022-01-05 11:00
周文豪
阅读(1019)
推荐(0) 编辑
并发时事务引发的问题和事务的隔离级别
摘要:一、事务的四大特征:ACID 原子性 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 一致性 事务开始前和结束后,数据的完整
阅读全文
posted @
2022-01-05 08:03
周文豪
阅读(53)
推荐(0) 编辑
转换流:指定编码 读取文本文件InputStreamReader和写出文本文件OutputStreamWriter 字符集
摘要:一、字符编码和字符集 1、字符编码 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码 。 如说,按照A规则存储,同样
阅读全文
posted @
2022-01-04 12:09
周文豪
阅读(1090)
推荐(0) 编辑
数据库设计
摘要:数据库中存放很多表,设计数据库就是设计表。表是对现实生活中一些事务的抽象。 要设计数据库就要明白表的关系,也要知道数据库设计的一些准则,也称范式。 数据库的设计直接影响了项目开发的难易程度,也直接影响了项目开发完后运行的性能。 一、多表之间的关系 1、一对多(或多对一),如部门和员工,一个部门有多个
阅读全文
posted @
2022-01-03 12:18
周文豪
阅读(173)
推荐(0) 编辑
约束:主键、非空、唯一、外键
摘要:一、概念 对表中的数据进行限定,保证数据的正确性、有效性和完整性。 二、分类 1)、主键约束:primary key 2)、非空约束:not null 3)、唯一约束:unique 4)、外键约束:foreign key 三、非空约束 not null,某一列的值不能为null 1、创建表时添加约束
阅读全文
posted @
2022-01-02 21:19
周文豪
阅读(1378)
推荐(0) 编辑
切入点表达式
摘要:execution:匹配方法的执行(常用) execution(表达式) 表达式语法:execution([修饰符] 返回值类型 包名.类名.方法名(参数)) 写法说明: 全匹配方式: public void com.itheima.service.impl.AccountServiceImpl.s
阅读全文
posted @
2022-01-02 15:33
周文豪
阅读(85)
推荐(0) 编辑
SQL
摘要:一、概念 1、什么是SQL? Structured Query Language:结构化查询语言 其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。 2、SQL通用语法 1)、SQL 语句可以单行或多行书写,以分号结尾。 2)、可使用空格和缩进来增强语句
阅读全文
posted @
2022-01-02 15:20
周文豪
阅读(41)
推荐(0) 编辑