
java
文章平均质量分 91
子非鱼yy
求知若饥,虚心若愚
展开
-
模拟JVM系统缓慢+CPU 100%+频繁Full GC问题的定位排查
文章目录一、问题说明二、执行代码三、发现问题四、排查问题1.普通排查2.使用`arthas`在线排查工具一、问题说明以下代码模拟了一个频繁FGC的场景:import java.math.BigDecimal;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.concurrent.ScheduledThreadPoolExecutor;import java.util.原创 2022-04-21 00:21:02 · 3036 阅读 · 0 评论 -
Java对象在内存中的创建过程、分配、布局、对象头详解
文章目录一、对象的创建过程二、对象的内存中的布局1、普通对象2、数组对象Object o = new Object() 在内存中占用多少字节三、对象头具体包括什么四、对象怎么定位五、对象怎么分配1、栈上分配:线程本地分配缓冲区TLAB(Thread Local Allocation Buffer)eden区(新生代)老年代对象如何进入老年代一、对象的创建过程class loadingclass linking(verification,preparation,resolution)class in原创 2022-04-19 23:13:19 · 642 阅读 · 0 评论 -
Java类和对象初始化
类的生命周期:Java类的初始化:本阶段负责为类变量赋正确的初始值。(类变量即静态变量)Java编译器把所有的类变量初始化语句和静态初始化器通通收集到<clinit>方法中,该方法只能被JVM调用,专门承担初始化工作。初始化一个类必须保证其直接超类已被初始化。并非所有类都拥有<clinit>()方法。以下类不会拥有<clinit>方法:该类既没有声明任何类变量,...转载 2018-03-19 17:50:40 · 642 阅读 · 0 评论 -
谈谈对Spring IOC的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spring框...转载 2018-03-21 16:14:41 · 559 阅读 · 0 评论 -
springMVC无法访问JSP报404,但是又能访问controller
原因:<servlet> <servlet-name>mvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> ...原创 2018-04-25 10:28:32 · 3219 阅读 · 0 评论 -
注解实现
一、Java 反射1. 反射是什么?反射对于 Java 程序员来说算是一种高级的特性了,像类的热加载、动态代理等都是通过反射来实现的。基本上对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。2. 注解作用简单一点说,Class 类可以看做是所有类的元数据类(JDK 对此类的解释为 Class 类代表了正在运行的 Java 程序中的...原创 2018-07-20 10:26:11 · 1483 阅读 · 0 评论 -
Java任务拆分
在Java后端开发过程中,经常会遇到大任务量的计算或者执行任务,此时我们就可以使用java jdk里面自带的拆分思想和方法,拆分任务主要依靠两个抽象类,一个是RecursiveAction,执行不需要有返回值的任务时,可以继承这个类。一个是RecursiveTask,这个是RecursiveAction的父类。他可以堵塞等待返回值,获取相应的计算结果,这边我就举个有返回值的例子,计算1到100,每...原创 2019-01-17 11:43:28 · 2005 阅读 · 0 评论 -
Java基础之—反射(非常重要)
反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码...原创 2019-03-18 15:21:27 · 521 阅读 · 0 评论 -
给Java程序猿们推荐一些值得一看的好书
学习的最好途径就是看书"学习的最好途径就是看书",这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:1、能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料2、对着书上的代码自己敲的时候方便"看完书之后再次提升自我的最好途径是看一些相关的好博文",我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是...原创 2019-03-25 17:00:17 · 718 阅读 · 0 评论 -
数组,List,Set相互转化
1.数组转化为List:String[] strArray= new String[]{"Tom", "Bob", "Jane"};List strList= Arrays.asList(strArray);2.数组转SetString[] strArray= new String[]{"Tom", "Bob", "Jane"};Set<String> staffsSe...原创 2019-09-09 17:13:35 · 630 阅读 · 0 评论 -
深入理解java三大特性之一的多态
面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开: 所谓多...转载 2018-03-17 16:25:45 · 852 阅读 · 0 评论 -
Java8新增的重复注解@Repeatble和类型注解
第一讲 重复注解重复注解:即允许在同一申明类型(类,属性,或方法)前多次使用同一个类型注解 在java8 以前,同一个程序元素前最多只能有一个相同类型的注解;如果需要在同一个元素前使用多个相同类型的注解,则必须使用注解“容器”。public@interfaceAuthority { String role();} public@interfaceAuthorities { //@...原创 2018-01-30 15:20:16 · 906 阅读 · 0 评论 -
使用Java8的函数式接口@FunctionalInterface实现简单异步调用
最近研究了一下异步调用,接下来几篇博客是跟异步调用相关的,首先使用@FunctionalInterface接口实现一个简单的步调用,也就是本篇博客主要内容。然后再加上ZMQ,实现一个带网络通信的异步调用。再下一步就是复杂一点的RPC调用,最终目的是实现一个使用ZMQ的分布式调用系统。 Flag已经立,目标也定好了,先从简单的说起。 情景假设:假设一个程序需求是用户Person查看用原创 2018-01-30 14:57:56 · 1447 阅读 · 0 评论 -
jquery ajax请求后台 的简单例子
jQuery.ajax(url,[settings])概述通过 HTTP 请求加载远程数据。jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。最简单的情况下,$.ajax()可以不带任何参数直接原创 2017-09-20 09:17:27 · 23484 阅读 · 0 评论 -
Java从根源处理get请求乱码
页面为UTF-8,jquery的ajax方法为utf-8传值,中文会出现乱码,给java页面传值时需要进行两次转码encodeURI();例如:$.post("page.do",{str:encodeURI(encodeURI("中文"))},function(data){alert(data);})程序页面解析字符串时需要使用ava.net.URLDecoder.decode进行解码原创 2017-09-21 16:44:57 · 864 阅读 · 0 评论 -
JAVA常见问题解决办法汇总
1.java.lang.NullPointerException 原因是:有空指针,有地址没赋值2.Exception in thread "main" java.lang.ArithmeticException: / by zero 原因是除数是03.ArrayIndexOutOfBoundsException 原因是:数组越界4.ja转载 2017-09-21 16:48:15 · 4590 阅读 · 0 评论 -
GET请求中的乱码原理解析和解决方案
乱码问题解决基础知识1)浏览器会在中文的UTF-8后加上上%得到URL编码 例如: %e8%b4%b9%e7%94%a8%e6%8a%a5%e9%94%802)以get的请求发送到tomcat服务器后又会以默认的(ISO8859-1)解码!!3)所以在action中要先以ISO8859-1解码,在一UTF-8编码得到中文字符 表单采用Post方式提交,解决乱码的方法原创 2017-09-21 16:58:20 · 2052 阅读 · 0 评论 -
Java遍历一个类的所有属性和值
private void bianLi(Object obj){ Field[] fields = obj.getClass().getDeclaredFields(); for(int i = 0 , len = fields.length; i < len; i++) { // 对于每个属性,获取属性名 String varName = fields[i].getNam原创 2017-10-18 16:20:27 · 25893 阅读 · 2 评论 -
java编程中spring boot 使用spring.profiles.active来分区配置
java编程中spring boot 使用spring.profiles.active来分区配置 很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同的环境下配置用不同的配置文件或者不同的配置spring boot允许你通过命名约定按照一定的格式转载 2017-11-07 16:41:09 · 3477 阅读 · 0 评论 -
成为Java顶尖程序员 ,看这11本书就够了
“学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:1.能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料2.对着书上的代码自己敲的时候方便“看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看转载 2017-11-07 23:37:42 · 819 阅读 · 0 评论 -
我们在使用eclipse创建动态网站时,常常在创建第一个JSP页面时,jsp页面的第一行报错,下面是报错的图片
下面来看一下解决办法:1.首先在项目上右键选择Properties,进入以下界面2.进入此界面后,选择javabuildpath按照上图步骤就ok啦原创 2017-10-24 10:25:31 · 1188 阅读 · 2 评论 -
try-catch和throw,throws的区别
java里的异常多种多样,这是一种非常有用的机制,它能帮助我们处理那些我们未知的错误,在java里,关于异常的有throw throws,还有一个try catch 程序块。接下来我们挨个看看这几个的作用。1.throwthrow 就是抛出一个异常,并获取这个异常的引用,这个异常会被抛到外部的环境,由外部环境进行处理class A{ public void func() thr原创 2017-10-16 16:26:49 · 2175 阅读 · 0 评论 -
《阿里巴巴Java开发手册》扫描插件正式发布--插件安装和使用分析
阿里巴巴于10月14日上午9:00在杭州云栖大会《研发效能峰会》上,正式发布《阿里巴巴Java开发手册》扫描插件。下面分享这个插件,希望更多的人使用,提高我们的代码/编码的规范!阿里代码规约插件相关内容:视频地址:https://yunqi.aliyun.com/#/video/detail1420翘首期盼247天!《阿里巴巴Java开发手册》扫描插件正式发布:https://原创 2017-10-16 16:49:32 · 1853 阅读 · 0 评论 -
一张图然让你理解面向对象编程
原创 2017-11-20 14:27:39 · 1877 阅读 · 0 评论 -
BigDecimal如何比较大小
BigDecimal比较大小 这个类是java里精确计算的类,下面说一下两个BigDecimal对象大小,相等的判断 1 比较对象是否相等 一般的对象用equals,但是BigDecimal比较特殊,举个例子: BigDecimal a=BigDecimal.valueOf(1.0); BigDecimal b=BigDecimal.valueO转载 2017-09-14 14:42:11 · 3070 阅读 · 0 评论