Java基础
黑旋风李鬼
这个作者很懒,什么都没留下…
展开
-
java系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查工具和思路
一.排查思路推荐参考:https://my.oschina.net/zhangxufeng/blog/3017521二.排查工具使用 寻找服务进程(如2823) [root@zuo demo]# jps 查看服务每个内存区域情况 [root@zuo demo]# jmap -heap 2823Attaching to process ID 5187, please wait...Debugger attached successfully.Server comp..原创 2020-07-01 17:55:09 · 761 阅读 · 0 评论 -
Java服务监视和管理--JConsole的使用
帮助文档:https://docs.oracle.com/javase/6/docs/technotes/guides/management/toc.html原创 2020-06-29 13:15:10 · 195 阅读 · 0 评论 -
Jmap的使用
[root@dataflow_cms ~]# jps26966 dataflow.jar14701 Jps25774 Application[root@dataflow_cms ~]# 26966-bash: 26966: command not found[root@dataflow_cms ~]# jmap -heap 26966Attaching to process ID 26966, please wait...Debugger attached successfully.Se.原创 2020-06-29 13:12:16 · 780 阅读 · 0 评论 -
通过注解的方式实现对数据库字段修改做日志记录
/** * * @Description: 示例 * @Authoradmin: zuo * @Date 2020/5/30 9:01 AM * Version 1.0.0 */@Slf4jpublic class AaaDemo { public static void main(String[] args) { Dog oldDog = new Dog(); oldDog.setAge(1); oldDog.setName("呆.原创 2020-05-30 09:55:01 · 658 阅读 · 0 评论 -
java远程调试
1.启动参数加入下面一行-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=66662.ide配置3.启动服务器程序4.启动ide5.代码打断点->请求接口原创 2019-11-11 11:42:48 · 209 阅读 · 0 评论 -
ava实现八大排序算法(含动图,很生动)
https://www.cnblogs.com/morethink/p/8419151.html#%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F转载 2019-10-15 09:03:28 · 545 阅读 · 0 评论 -
List集合与Array数组之间的互相转换
// 数组转List集合 String[] array = new String[] {"zhu", "wen", "tao"}; List<String> mlist = Arrays.asList(array); // List转成数组 String[] array = mlist.toArray(new String[0]); ...原创 2018-09-22 17:37:00 · 423 阅读 · 0 评论 -
maven打包时跳过测试
在打包 spring boot 项目时,如果测试用例特别多,打包时间会增加; 而且测试用例有时忘记了做相应修改,在打包时则会报错而终止打包,就很烦。所以这时会想在打包时跳过测试,大致有2种方法:方法一:在打包时增加1个参数:mvn clean package -DskipTests方法二:mvn clean package -Dmaven.test.skip=true ...转载 2018-10-31 09:41:14 · 158 阅读 · 0 评论 -
慢sql进行 手动分页
com.meipingmi.yunyikuoperation.common.page.Page page = new com.meipingmi.yunyikuoperation.common.page.Page();page.setPageSize(ordersAO.getPageSize());ordersAO.setOffSet((ordersAO.getPageIndex() - 1...原创 2018-11-21 09:35:31 · 286 阅读 · 0 评论 -
JVM数据存储结构 & Java的值传递和址传递
本文旨在用最通俗的语言讲述最枯燥的基本知识1. 形参与实参我们先来重温一组语法:形参:方法被调用时需要传递进来的参数,如:func(int a)中的a,它只有在func被调用期间a才有意义,也就是会被分配内存空间,在方法func执行完成后,a就会被销毁释放空间,也就是不存在了 实参:方法被调用时是传入的实际值,它在方法被调用前就已经被初始化并且在方法被调用时传入。举个栗子:1...转载 2018-11-16 16:17:36 · 647 阅读 · 0 评论 -
java导出Excel文件
esay excel 导出原创 2019-03-22 13:16:17 · 3103 阅读 · 0 评论 -
java序列化和反序列化以及序列化ID的作用分析
java序列化和反序列化一、概念 java对象序列化的意思就是将对象的状态转化成字节流,以后可以通过这些值再生成相同状态的对象。对象序列化是对象持久化的一种实现方法,它是将对象的属性和方法转化为一种序列化的形式用于存储和传输。反序列化就是根据这些保存的信息重建对象的过程。 序列化:将java对象转化为字节序列的过程。 反序列化:将字节序列转化为j...转载 2019-05-19 16:11:20 · 620 阅读 · 0 评论 -
switch case 中如何使用枚举
枚举类:public enum ContractTempletEnum { PPT(1,"普通模板"),SIGNT(2,"签约模板"); private Integer id; private String name; private ContractTempletEnum(Integer id, String name) { this.id = id; this.na...转载 2019-08-06 10:36:16 · 10562 阅读 · 0 评论 -
为什么计算机都是使用补码?补码怎么计算?
1.在人们的计算概念中零是没有正负之分的,统一0的处理2.统一处理加减法,无需增加减法器操作补码计算:正数二进制的补码等于它本身,负数的二进制补码等于取反+1...原创 2019-08-13 00:10:46 · 1480 阅读 · 2 评论 -
java保存动态代理生成的类的class文件
启动时加:-Dsun.misc.ProxyGenerator.saveGeneratedFiles=true原创 2019-09-18 17:40:15 · 1918 阅读 · 0 评论 -
打印jdk和cglib动态代理类
System.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY, "D:\\class"); --该设置用于输出cglib动态代理产生的类System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles", "true"); --该设置用于输出jd...原创 2019-09-30 10:15:37 · 1120 阅读 · 0 评论 -
spring boot @Transactional 手动事务回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();原创 2018-09-22 17:19:39 · 5148 阅读 · 0 评论 -
BigDecimal的3个toString方法
本文介绍BigDecimal的3个toString方法的区别。BigDecimal类有3个toString方法,分别是toEngineeringString、toPlainString和toString,从BigDecimal的注释中可以看到这3个方法的区别:toEngineeringString:有必要时使用工程计数法。工程记数法是一种工程计算中经常使用的记录数字的方法,与科学技术法...转载 2018-09-22 17:16:21 · 1190 阅读 · 0 评论 -
java枚举与常量类区别
优点枚举相对于常量类来说定义更简单,其不需要定义枚举值,而常量类中的每个常量必须要手动添加值。 枚举作为参数使用时可以在编译时避免弱类型错误,而常量类中的常量作为参数使用时在编译时无法避免弱类型错误(譬如常量类型为 int,参数传递一个常量类中没定义的 int 值)。 枚举自动具备内置方法(如 values 方法可以获得所有值的集合来遍历,ordinal 方法可以获得排序值,compare...原创 2018-09-20 16:15:30 · 5195 阅读 · 0 评论 -
Java中访问修饰符public、private、protect、default范围
转载自:http://lvdairy.blogbus.com/logs/51747079.htmlpublic: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,...转载 2018-04-04 09:43:26 · 259 阅读 · 0 评论 -
当父类引用指向子类对象 成员变量继承问题
package chapter_03.step_03;/** * 当父类引用指向子类对象 成员变量继承问题 * @author Administrator * */public class Test02 { public static void main(String[] args) { Parent p = new Child(); Child c = new Child(); Sy...原创 2018-04-04 11:22:10 · 1844 阅读 · 1 评论 -
java工具类(字符串字符长度计算和特殊字符正则)
/** * * @author zs * 字符串 长度校验与正则匹配 */public class StringCheckUtil { /** * 获取字符长度(中文2个字符) * @param str * @return */ public static int getTrueLength(String str) { int valueLength = ...原创 2018-05-02 13:48:19 · 2271 阅读 · 0 评论 -
集合 TreeMap 遍历 和 根据 key 和 value 排序
TreeMap 遍历public class Eee { public static void main(String[] args) { TreeMap<String, Integer> treeMap = new TreeMap<>(); treeMap.put("s", 2); treeMap.put("w",...转载 2018-05-05 10:51:56 · 4062 阅读 · 0 评论 -
Java 正则表达式的语法与示例
转自:https://www.cnblogs.com/lzq198754/p/5780340.html例一:匹配验证-验证Email是否正确public static void main(String[] args) { // 要验证的字符串 String str = "service@xsoftlab.net"; // 邮箱验证规则 String regEx = ...转载 2018-05-07 15:17:02 · 201 阅读 · 0 评论 -
自定义数组迭代器
/** * dinner 数组迭代器 * * @author Administrator * */public class DinnerMenuIterator implements Iterator { private MenuItem[] menuItems; private Integer position = 0; public DinnerMenuIterato...原创 2018-05-15 09:01:13 · 267 阅读 · 0 评论 -
URL编码与解码
package test;import com.alibaba.dubbo.common.URL;public class Mmm { public static void main(String[] args) { String url = "https://mp.csdn.net/postedit"; //编码 String encodeUrl = URL.encode(u...原创 2018-06-13 14:55:16 · 155 阅读 · 0 评论 -
java Date 时间获取、设置、格式化、时间差
@SuppressWarnings("deprecation") public static void main(String[] args) { Date now = new Date(); //取毫秒值 long time = now.getTime(); //年(2018 - 1900 = 118) int year = now.getYear(); //月(0~...原创 2018-06-22 18:00:16 · 1046 阅读 · 0 评论 -
JAVA 四大域对象总结
一、ServletContext 1、生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。 2、作用范围:整个Web应用(应用范围)。 3、作用: a)在不同Servlet 之间转发 this.getServletContex...转载 2018-06-30 15:07:12 · 123 阅读 · 0 评论 -
HttpSession会话状态的生命周期
浏览器访问服务器时,服务器会创建一个session对象(有一个sessionId)。服务器在默认的情况下,会将sessionId以cookie的机制发送给浏览器。当浏览器再次访问服务器时,会将sessionId发送给服务器,服务器依据sessionId就可以找到对应的session对象。服务器以此方式管理用户的状态。 获取session对象的方式有两种:一、HttpSession s...转载 2018-06-30 15:39:47 · 315 阅读 · 0 评论 -
正则(待续)
String regex = "^[0-9a-zA-Z\u4E00-\u9FA5]{1,12}"; boolean b = businessUserAo.getNick().matches(regex); if(!b) { return ResultObject.error("昵称只能输入12个中文、数字或英文"); }...原创 2018-06-28 14:54:25 · 109 阅读 · 0 评论 -
springboot项目使用Swagger-UI
pom.xml 文件中加入依赖 <!--swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> ...原创 2018-08-10 12:41:12 · 488 阅读 · 0 评论 -
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal res
今天在写一个JAVA程序的时候出现了异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result。发现报错的语句是:foo.divide(bar));原来JAVA中如果用BigDecimal做除法的时候一定要在divide方法中传递...转载 2018-08-14 17:03:18 · 192 阅读 · 0 评论 -
Java 设计模式 简单工厂 工厂模式 抽象工厂
简单工厂模式1、概念:简单工厂模式其实不是一个设计模式,反而比较像一种编程习惯。主要我们定义一个非常简单的类主要负责帮我们生产不同的产品。类图如下:客户端通过简单工厂可以生产出具体产品A,具体产品B,具体产品C。public class Factory{ // 定义产品编号 public int prodNo; // 构造工厂时告知工厂产品标识 ...转载 2018-08-14 17:51:56 · 162 阅读 · 0 评论 -
JAVA静态方法和属性是否可以被继承?
博文转自:https://www.cnblogs.com/mxmbk/articles/5151095.htmljava中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. 1). 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成对,不需要继承机制即可以调用。 2). 静态属性、静态方法和非静态的属性都可以被继承和隐藏而不能被重写,因此不能实现多态,不能实...转载 2018-04-10 19:46:28 · 3485 阅读 · 0 评论