Java基础
文章平均质量分 52
油炸小波
虚心若愚 求知似渴
展开
-
serverless下班赠礼:开源贡献者
哈哈哈,以后工作简历上可以优化一点了,作为IT人真的很开心原创 2021-06-29 21:58:54 · 172 阅读 · 0 评论 -
LOMBOK注解修改set方法默认返回值
LOMBOK注解修改set方法默认返回值@Accessors(chain=true)package com.pollyduan;import lombok.Data;import lombok.experimental.Accessors;@Data@Accessors(chain=true)public class User { private Integer id; private String name; private Integer age;原创 2021-04-28 14:28:43 · 4817 阅读 · 0 评论 -
转载:Tomcat重复请求,log4j2日志重复显示问题排查
原文链接:http://www.amd5.cn/atang_3841.html前提:公司项目用的是nginx+tomcat+java,线上环境和线下环境版本配置都是一样,采用的是jenkins自动化部署。问题:前段时间突然发现浏览器访问一个页面,后端日志会出现重复的两条日志记录一模一样,请求时间都是一样的,经过测试发现所有的请求都会有两条重复的日志记录。如下图:排查:1、一开始认为是前端重复请求了,查看nginx访问日志,发现刷新一次页面的确nginx会出现两条请求记录,一次是O转载 2020-12-29 10:38:32 · 1426 阅读 · 1 评论 -
String字符串GBK转UTF8
假设有字符串String str = "***";转换语句为str=new String(str,"GBK").getBytes("UTF-8")原创 2020-12-10 14:04:40 · 3115 阅读 · 0 评论 -
switch...case中switch的条件
原创 2020-12-09 20:50:07 · 1066 阅读 · 0 评论 -
& | ^运算
& 运算 ------------------------2个都为1-》10&1 =0; 0&0 =0;1&0 =0;1&1 =1;| 运算 ---------------------------1个为1--》10|0=0; 0|1=1;1|0=1;1|1=1;^ 运算---------------------------不同则为1,相同则为0 //当且仅当两个运算值中有一个为1但...原创 2020-12-07 15:19:02 · 124 阅读 · 0 评论 -
ACP云计算认证:个人笔记(真题总结)
Elastic Compute Server 是一种处理能力可弹性伸缩的计算服务。CPU内存需要停机,带宽不需要。 垂直:带宽 CPU 内存 水平:服务器 Region 地域 Zone 可用区 安全组, 允许包含跨可用区的实例 磁盘 只能挂在同一可用区 快照镜像 可以跨可用区,镜像可以复制到别的地域 发生故障时,实例只能在同一个可用区迁移 默认系统盘40GB-500GB ,系统盘设备名:/dev/xvda ECS创建时必须要选择 镜像 来确定其操作系统...原创 2020-10-20 21:01:08 · 988 阅读 · 0 评论 -
常见Lambda使用技巧
初始化程序private static List<User> initData() { User user1 = new User(1, 10, "1994-1-1", "15"); User user2 = new User(2, 20, "1995-1-1", "25"); User user3 = new User(3, 30, "1996-1-1", "25"); User user4 = new User(4, 40, "1997-1-1", "45");原创 2020-10-20 21:00:03 · 388 阅读 · 0 评论 -
Tomcat报错:No buffer space available
近日收到一个客户方的反馈,应用程序无法访问,想着应该是中间件异常了,重新启动一下就好,然而,登陆服务器的时候,发现tomcat已经不知道什么时候自动结束了,程序运行在tomcat+windows server2008的环境下,以为是客户给结束了,然后直接尝试重启,发现如下报错(前面的一堆就不再截取了,因为此文是事后所写,报错信息是从日志文件中取出):严重: Error starting endpointjava.io.IOException: Unable to establish l...原创 2020-10-20 20:56:10 · 1646 阅读 · 0 评论 -
Arthas精准定位Java应用CPU负载过高问题
1.前言尝试一:定位哪个Controller执行了代码前言trace指令能追踪调用链路,而Springmvc应用都是借助于:javax.servlet.Servlet * 执行的watch指令能够实时监测指定方法的:返回值,抛出异常,入参,同时支持OGNL操作实践为了节省时间,这里直接给出实施方案,采用watch指令,命令如下[监听内容是依靠trace的内容决定的,但是SpringMvc应用都是一样的,所以可以复用]:watch org.springframework.we原创 2020-10-20 20:54:09 · 565 阅读 · 0 评论 -
2.Arthas基础指令
1.dashboard输入dashboard,按回车/enter,会展示当前进程的信息,按ctrl+c可以中断执行ID: Java级别的线程ID,注意这个ID不能跟jstack中的nativeID一一对应 NAME: 线程名 GROUP: 线程组名 PRIORITY: 线程优先级, 1~10之间的数字,越大表示优先级越高 STATE: 线程的状态 CPU%: 线程消耗的cpu占比,采样100ms,将所有线程在这100ms内的cpu使用量求和,再算出每个线程的cpu使用占比。 TIME原创 2020-10-20 20:52:59 · 830 阅读 · 0 评论 -
初始化Map,大小应该是:size/0.75+1
初始化Map并非用多少初始化Size是多少,建议使用Guava,避免扩容引起的动荡()说明如:Map<String, String> map = new HashMap<>(1); 在具体使用时,并非size=1,而是最近的2的幂等,如1实际是2,3实际是4,9实际是16使用方法依赖gvaua:Map<String, String> map = Maps.newHashMapWithExpectedSize(7);<dependency>原创 2020-10-20 20:48:27 · 3236 阅读 · 0 评论 -
a too low setting for -Xss and illegal cyclic inheritance dependencies.
tomcat日志:ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at or原创 2020-08-24 15:14:40 · 976 阅读 · 0 评论 -
各种数据形式转JSON与互转
引用以下包在未主动声明前提下,均为下述引用import cn.hutool.core.util.XmlUtil;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import java.util.List;import java.util.Map;一维数组转JSONpublic static String arrToJson(String[] arr) { String jsonStr = JSONAr原创 2020-08-24 15:12:35 · 794 阅读 · 1 评论 -
超长String接收处理(常量字符串过长修复方案)
1 背景String内部是以char数组的形式存储,数组的长度是int类型,那么String允许的最大长度就是Integer.MAX_VALUE了。又由于java中的字符是以16位存储的,因此大概需要4GB的内存才能存储最大长度的字符串。不过这仅仅是对字符串变量而言,如果是字符串字面量(string literals),如“abc"、"1a2b"之类写在代码中的字符串literals,那么允许的最大长度取决于字符串在常量池中的存储大小,也就是字符串在class格式文件中的存储格式:CONSTA原创 2020-08-20 20:29:50 · 23883 阅读 · 0 评论 -
项目依赖jar冲突,手动排除方案
错误描述:如下***************************APPLICATION FAILED TO START***************************Description:An attempt was made to call a method that does not exist. The attempt was made from the following location: com.alibaba.dubbo.common.logger..原创 2020-06-04 10:25:02 · 2821 阅读 · 0 评论 -
Excel解析数据,反射封装到类POI工具类
import com.test.ExcelVO;import org.apache.commons.lang.StringUtils;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWork.原创 2020-06-04 10:16:38 · 270 阅读 · 0 评论 -
JSP同时遍历多个JSONArray或List
表格处理数据时候,可能会遇到多列数据参数绑定才多个List上,此时就需要遍历多个List或者JSONArray,以下解决方案为我最终采用的方式1.引入C标签<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>2.处理方案<c:forEach items="${infoList}"...原创 2019-10-09 16:56:22 · 1089 阅读 · 0 评论 -
Eclipse中Maven集成lombok
系统软件环境:Elispe:neon,Maven,lombok:1.18.6由于Eclipse集成需要做一点前期准备工作,所以请在未启动Eclipse前提下执行下列操作。1.找到本地maven仓库中的lombok的jar文件,如果没有也可以去这个地址下载,手动拷贝到本地maven仓库lombok 1.18.6下载地址2.右键--打开方式--选在Java TM3.弹出...原创 2019-09-22 09:22:12 · 879 阅读 · 0 评论 -
zero copy实现高效的数据传输
一.前言许多Web应用程序提供大量静态内容,这相当于从磁盘读取数据并将完全相同的数据写回到响应套接字。此活动似乎只需要相对较少的CPU活动,但效率有点低下:内核从磁盘读取数据并将其跨越内核用户边界推送到应用程序,然后应用程序将其推回到内核用户边界写出到插座。实际上,应用程序作为一个低效的媒介,将数据从磁盘文件获取到套接字。每次数据遍历用户内核边界时,都必须复制它,这会消耗CPU周期和内存带宽。幸运...原创 2018-07-02 14:51:27 · 1171 阅读 · 0 评论 -
IO详解
转载地址:https://blog.csdn.net/qq_25184739/article/details/51205186Java IO概要为了方便理解与阐述,先引入两张图: a、Java IO中常用的类 在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Seri...转载 2018-07-02 15:42:11 · 4744 阅读 · 0 评论 -
Java中--XX和XX的区别
把2------8用最快的办法 2 <<3super关键字与this关键字的区别:1. 代表的事物不一致。1. super关键字代表的是父类空间的引用。2. this关键字代表的是所属函数的调用者对象。2. 使用前提不一致。1. super关键字必须要有继承关系才能使用。2. this关键字不需要存在继承关系也可使用。3. 调用构造函数的区别:...原创 2018-07-18 15:24:57 · 5592 阅读 · 0 评论 -
Java关键字
访问控制Private 用来定义私有变量,在封装时会用到 一般不用来修饰类(内部类除外),系统会直接报错Public 公有Protected 同包同类中,可以自由访问protected成员同包不同类中,无任何继承关系,可以自由访问protected成员同包不同类中,具有继承关系,任何子类或者子类的子类都可以访问protected成员不同包不同类中,不具有继承关系,不可以访...原创 2018-07-12 17:28:43 · 161 阅读 · 0 评论 -
向上转型 向下转型
如父类Animal,子类Cat,Dog。其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类。Animal animal = new Cat();声明的是父类,实际指向的是子类的一个对象。理解多态,首先要知道“向上转型”。我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类。我可以通过 Cat c = new Cat(); 实例化一个Cat的对象,这...原创 2018-07-12 17:30:30 · 5127 阅读 · 0 评论 -
比较任意两个String类型的数值大小
import java.util.regex.Pattern;public class Main { public static void main(String... args) { compare("1.0", "1.1"); compare("1.0.1", "1.1"); compare("1.9", "1.10");原创 2018-07-19 16:40:00 · 35669 阅读 · 0 评论 -
Oracle安装教程[图文详解]
安装Oracle Server计算机硬件配置要求:· CPU: Pentium 1.6G Hz 以上· 内存: 512MB 以上· 可用硬盘空间: o 系统盘: 500 MB 以上o 安装盘: 1.6G 以上Step1:首先当然是需要下载Oracle 10G的安装包:点这里Oracle提供了多种安装包,最常用的有下面几种:· ***_database_*.zip :是oracle数据库Server...原创 2018-07-16 08:54:58 · 3112 阅读 · 0 评论 -
Maven安装与配置[图文详解]
第一种:DOC命令行安装配置【了解】1.1.1 Jdk的情况Jdk必须1.6以上的版本1.1.2 从官网下载maven从http://maven.apache.org/官网上下载最新版本的maven1.1.3 设定path路径把下载下来的maven解压缩,然后有一个bin文件夹,这是一个bin的文件夹的目录F:\work\course\maven\maven\bin把该目录追加到环境变量的path...原创 2018-07-16 08:57:06 · 417 阅读 · 0 评论 -
Java面试 一篇就够[大量链接+图文]
JAVA复习1.面向对象和面向过程的区别面向过程优点:性能高、耗资源面向对象优点:易维护、易复用、易扩展面向过程将一个问题分解为若干小问题,再将这些小问题一一解决,面向对象:冰箱,可以自己把门打开,自己把大象装进去,自己把门关上。人们不需要了解这一过程是如何实现的,只要在需要把大象装进冰箱的时候,跟冰箱说一句:“嘿,你把大象装进去吧。”2.Java的四个基本特性(抽...原创 2018-07-31 16:54:39 · 1478 阅读 · 0 评论 -
Java回调机制--经典案例
本文出自xiaanming的博客http://blog.csdn.net/xiaanming/article/details/17483273以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样...转载 2018-08-31 10:16:55 · 164 阅读 · 0 评论 -
几张图轻松理解String.intern()
转载地址:https://blog.csdn.net/soonfly/article/details/70147205在翻《深入理解Java虚拟机》的书时,又看到了2-7的 String.intern()返回引用的测试。 其实要搞明白String.intern(),我总结了下面几条规则: 一、new String都是在堆上创建字符串对象。当调用 intern() 方法时,编译器会将字符串添...转载 2018-09-04 15:15:02 · 146 阅读 · 0 评论 -
毕业设计答辩技巧&降重技巧
大家答辩都是第一次,作为一个打交道多次的''老鸟'',从我的角度,给大家说一下常见的问题和解决之道新增二期Java答辩突击视频 欢迎指正学习目录看之前首先明确2个问题问题1:你这个项目用到了SSM/SSH/JSP/JavaWeb,是怎么体现的?问题2:你在进行数据库设计的时候,有什么技巧吗?问题3:给我找到XX模块的代码,并讲解一下[XX流程是怎么实现的]?问题...原创 2020-03-19 21:17:07 · 29633 阅读 · 22 评论 -
Eclipse导入项目:Some projects cannot be imported because they already exist in the workspace
出现时机:1.原有工程未删除干净,再次导入同一个,提示该错误解决方案:Eclipse右键delete删除后,去Eclipse对应的工作空间,删除原有工程整个文件夹,再重新导入2.重命名工程之后再次导入报错解决方案:(1)把“Copy projects into workspace”前面的勾去掉(导入时取消勾选),并且点刷新按钮(refresh);(2)打开要导入的工程...原创 2019-06-28 10:47:08 · 1585 阅读 · 0 评论 -
Java基础--反射
Reflection机制允许程序在正在执行的过程中,利用Reflection APIs取得任何已知名称的类的内部信息包括:package、 type parameters、 superclass、 implemented interfaces、 inner classes、 outer classes、 fields、 constructors、 methods、 modifiers等并可以在执行...原创 2018-07-02 10:38:57 · 134 阅读 · 0 评论