java
诸葛子房_
先后就职于京东和BAT,在大数据领域有多年工作经验;
Apache Griffin&&Apache Zeppelin Contributor,dataCompare和dataService作者
展开
-
Linux 运维小技巧
然后到该目录下进行清理,记住哦,正常的到目录下 rm -rf 会卡住不动的。查看到底哪个目录下面的文件最多,查看前30个目录最多文件即可。原创 2023-05-31 16:19:34 · 160 阅读 · 0 评论 -
如何做好一次服务接口压测?
背景:调用其他人的提供的HTPP服务接口,线上经常出现:java.net.SocketTimeoutException: connect timed out,超时时间为50ms1.压测准备单独机器部署1.5核、4G内存2.压测dubbo 服务接口准备3.概念并发数:同一时刻同时连接服务的客户端数目。每个客户端都会在上一个请求返回后发起一个新的请求(如设置了步调时间,可能会等待并对齐)。QPS:每秒内成功返回的请求数。根据返回状态不同,类似的还有每秒失败数、每秒超时数。两者关系:假设采用普通模式(不设置步调时原创 2022-06-06 11:15:51 · 579 阅读 · 1 评论 -
利用gitee 实现CI\CD 流程自动化
Gitee Go - Gitee.com原创 2022-05-17 22:32:12 · 1643 阅读 · 2 评论 -
maven 使用小技巧
1.scope=provided编译时需要,但是运行时不需要,即打包的时候不打入进去详细文章参考:maven dependency中provided和compile的区别 - MengW9 - 博客园 (cnblogs.com)原创 2021-12-30 10:35:47 · 183 阅读 · 3 评论 -
git 高级用法
1.git rebase 合并多个已经push的commit(1条消息) Git的使用:IDEA中把多次commit合并成一次和覆盖上一次Commit_huangjhai的博客-CSDN博客_git 合并上一次commithttps://blog.csdn.net/huangjhai/article/details/1095579462.git 回滚...原创 2021-12-20 14:21:48 · 228 阅读 · 0 评论 -
maven项目使用 slf4j
1.配置pom文件2.配置log4j代码:zhugezifang/test-log (github.com)参考博客地址Log4j.properties配置详解 - 莫逸风 - 博客园 (cnblogs.com)Log4j2与Slf4j的最佳实践 - 知乎 (zhihu.com)原创 2021-11-30 15:13:58 · 1661 阅读 · 0 评论 -
idea plugin 插件开发
1.需要安装gradle参考:Gradle的安装与配置_wenchang-的博客-CSDN博客_gradle安装2.插件开发3.项目目录4.plugin.xml<idea-plugin> <!--插件id--> <id>com.xiaokai.test.demo</id> <!--插件名称--> <name>Demo</name> <!--开发者..原创 2021-11-10 10:52:39 · 3516 阅读 · 0 评论 -
protobuf 序列化和反序列化
1.代码 Student.Builder builder = Student.newBuilder(); builder.setId(1); builder.setName("段小秋"); builder.setEmail("31346337@qq.com"); //序列化 Student stu = builder.build(); System.out.println(stu);原创 2021-11-03 17:39:23 · 195 阅读 · 0 评论 -
java List 删除误区
1.删除代码 List<String> list = new ArrayList<>(); list.add("1111"); list.add("222"); list.add("333"); list.add("222"); list.add("222"); System.out.println(list.toString());原创 2021-10-15 18:03:54 · 86 阅读 · 0 评论 -
maven 项目配置日志打印以及异常日志打印问题
1.引入配置<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.21</version></dependency><dependency> <groupId>org.slf4j</groupId>原创 2021-09-26 15:14:33 · 1824 阅读 · 0 评论 -
maven 依赖剔除处理
mvn dependency:tree查看jar 包依赖情况,剔除不需要的jar包原创 2021-09-07 16:23:46 · 735 阅读 · 0 评论 -
maven jar 包冲突处理
遇到的问题:具体原因参考:(1条消息) NoSuchMethodError 常见原因及解决方法_云栖技术精选-CSDN博客_nosuchmethoderror解决方法:采用maven shade或者剔除jar 包<build> <finalName>${project.artifactId}-${project.version}</finalName> <resources> .原创 2021-09-07 16:13:54 · 96 阅读 · 0 评论 -
apollo ctrip java 接入
1.pom<dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.7.0</version></dependency><dependency>原创 2021-08-10 16:38:56 · 236 阅读 · 0 评论 -
日志 问题排查
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.(6条消息) 解决Failed to load class "org.slf4j.im原创 2021-08-10 16:21:45 · 122 阅读 · 0 评论 -
protobuf 使用和介绍
介绍Protobuf 有没有比 JSON 快 5 倍?-InfoQ(3条消息) protobuf、thrift、avro对比_wangqiang9x的博客-CSDN博客使用Intellij IDEA中使用Protobuf的正确姿势 - 静若清池 - 博客园 (cnblogs.com)syntax="proto3";option java_package = "com.vince.xq";option java_multiple_files=true;option jav原创 2021-07-27 17:58:19 · 623 阅读 · 0 评论 -
linux内存使用率过高分析
1.top2.jmap -heap pid3.原创 2020-04-21 11:55:58 · 1371 阅读 · 0 评论 -
java位运算权限设计
优点:位运算减少空间,但是会减少代码的可读性1.公用类设计public class Auth { public static int insertAuth = 1 << 0;//增权限 public static int updateAuth = 1 << 1;//修改权限 public static int queryAuth = 1 &...原创 2019-11-22 09:35:07 · 304 阅读 · 0 评论 -
java 8 Function 使用
function的好处:将相似的业务逻辑放在一个函数里面例子:用function实现从缓存+数据库取值1.执行一个参数的functionpublic <T> T getDataFromJimdb(String date, Function<String, T> function) { T t=function.apply(date); retu...原创 2019-11-09 01:31:00 · 575 阅读 · 0 评论 -
java序列化
1.java自带的序列化方式:实现Serializable接口2.json、xml3.采用谷歌的ProtoBuf ------rpc通讯框架在用google protobuf 优点:字节数很小,适合网络传输节省io,跨语言 。缺点:需要依赖于工具生成代码。4.Apache avro ---大数据序列化方式 优点 缺点 JSON 跨语...原创 2019-08-16 09:31:15 · 100 阅读 · 0 评论 -
应用性能监控分析
应用性能监控分析1.接口耗时统计分析2.接口调用次数分析3.jvm监控分析垃圾回收(young gc,full gc):full gc耗时较长,但比较少;yong gc 耗时较短,但比较频繁4.FS监控分析5.QPS首先,我们需要明确两个基本点(1)处理每个请求需要耗费时间,哪怕时间很短(2)服务资源是有限的,不能一次性处理全部请求我们可以假...原创 2019-06-12 22:37:00 · 265 阅读 · 0 评论 -
java 泛型
1.泛型类public class Response<T> { private T data; public T getData() { return data; } public void setData(T data) { this.data = data; }}2.泛型接口public ...原创 2019-09-23 10:26:49 · 166 阅读 · 0 评论 -
mybatis 返回map
1.xml设置<resultMap id="cateNameMapping" type="java.util.HashMap" > <result property="key" javaType="java.lang.Integer" column="id"></result> <result property="value" jav...原创 2019-09-19 16:46:55 · 485 阅读 · 0 评论 -
咱们从头到尾说一次 Java 垃圾回收
原创:率鸽阿里巴巴中间件今天之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员。原创 2019-07-11 17:00:44 · 1165 阅读 · 0 评论 -
java JUC
java JUChttps://www.cnblogs.com/q151860/p/8589683.htmlposted @ 2018-12-07 13:06 诸葛子房 阅读(...) 评论(...) 编辑 收藏原创 2018-12-07 13:06:00 · 175 阅读 · 0 评论 -
记一次Java调优案例分析
记一次Java调优案例分析上周,一同学给我发来,他们那里的案例一看就是新生代产生过多对象,肯定是批量或者循环操作导致的,导致新生代一直在进行回收导致。如果是老生代出现这样的问题,大部分情况下是列表或者集合导致的。因此我们在获取数据的时候,往list里面放数据不要放太多,像上篇hbase数据迁移的时候,一次性迁移大概在200行数据,而不是一次性读入到内存中,必定会导致...原创 2018-09-25 15:16:00 · 152 阅读 · 0 评论 -
jdk(1.8) jvm 默认参数
1.查看jdk1.8 默认jvm参数java -XX:+PrintCommandLineFlags -version内存大小相关的选项-Xms 设置初始堆的大小,也是最小堆的大小,它等价于:-XX:InitialHeapSize-Xmx 设置最大堆的大小,它等价于-XX:MaxHeapSize。比如,下面这条命令就是设置堆的初始值为128m,最大值为2g。java -Xms...原创 2019-07-10 09:35:42 · 4996 阅读 · 0 评论 -
java dump文件分析
1.生成dump文件代码import java.util.*;/** * @Date {DATE} {TIME} **/public class Test { public static void main(String[] args) { List<String> list=new ArrayList<>(); i...原创 2019-06-11 20:43:50 · 11137 阅读 · 3 评论 -
JVM常用内存参数配置
一、常用参数 -Xms JVM启动时申请的初始Heap值,默认为操作系统物理内存的1/64但小于1G。默认当空余堆内存大于70%时,JVM会减小heap的大小到-Xms指定的大小,可通过-XX:MaxHeapFreeRation=来指定这个比列。Server端JVM最好将-Xms和-Xmx设为相同值,避免每次垃圾回收完成后JVM重新分配内存;开发测试机JVM可以保留默认值。(例如:-Xm...转载 2019-06-14 00:24:48 · 2093 阅读 · 0 评论 -
Java位运算基础
项目中用位运算来判断是否操作过,通过redis存储value,通过二进制减少存储空间;但是要注意长度判断是否操作过(第index位): long flag;public boolean isExecuted(int index) { return (this.flag | (1 << index)) == this.flag;}设置操作过:public ...原创 2019-07-29 09:10:15 · 134 阅读 · 0 评论 -
java 反射
java反射:用在加载数据库连接,可以动态选择不同的连接(mysql、sqlserver)反射之中包含了一个「反」字,所以想要解释反射就必须先从「正」开始解释。一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。Apple apple = new Apple(); //直接初始化,「正射」apple.se...转载 2019-07-29 10:20:57 · 118 阅读 · 0 评论 -
mybatis 批量插入
1.dao 文件public interface UserMapper { Info findById(Long Id); void insert(Info info); void insertBatch(List<Info> infos);}2.mapper文件<insert id="insertBatch" parameterTy...原创 2019-09-18 10:03:42 · 110 阅读 · 0 评论 -
干货 | 一文看懂JVM内存布局及GC原理 携程
本文转自:https://mp.weixin.qq.com/s/9xGsz5TpTSN0LxeOdNV8zA“java的内存布局以及GC原理”是java开发人员绕不开的话题,也是面试中常见的高频问题之一。java发展历史上出现过很多垃圾回收器,各有各的适应场景,很多网上的旧文章已经跟不上最新的变化。本文详细介绍了java的内存布局以及各种垃圾回收器的原理(包括最新的ZGC),希望阅读完后,...原创 2019-08-28 20:46:02 · 642 阅读 · 0 评论 -
java爬虫
1.pom<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.7.3</version></dependency>2.代码package com....原创 2019-08-23 13:55:21 · 104 阅读 · 0 评论 -
注解的使用
1.jdk自带注解2.spring、mybatis等框架注解注解的作用:赋值、校验注解简介注解(Annontation),Java5引入的新特性,位于java.lang.annotation包中。提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。是一种说明、配置、描述性的信息,与具体业务无关,也不会影响正常的业务...原创 2019-08-21 16:46:28 · 103 阅读 · 0 评论 -
注解的使用
在main方法中的使用:运行效果,可能很多小伙伴已经猜到啦,就是打印出一个query的SQL语句:原创 2019-08-13 20:14:08 · 99 阅读 · 0 评论 -
maven jar排冲突
https://blog.csdn.net/u012883534/article/details/79801442原创 2019-07-19 20:10:02 · 101 阅读 · 0 评论 -
java asm、cglib
一、ASMASM 官方 的定义是:ASM是一个通用的 Java 字节码操控和分析框架。它可以用于修改已有的类也可以直接生成类。ASM 提供了一些常用的字节码转换和分析算法,从中可以构建自定义的复杂转换和源码分析工具。ASM提供了与其他 Java 字节码框架类似的方法,但是更注重性能。因为它被设计和实现成尽可能小和快,所以非常适用于动态系统(当然也可以用于静态的方式,例如在编译器中)。总之...原创 2019-07-29 10:48:17 · 343 阅读 · 0 评论 -
java 注解
什么是注解(Annotation): Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。 Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档...转载 2019-07-29 10:23:16 · 103 阅读 · 0 评论 -
Java -- 深入浅出GC自动回收机制
1,去年开春去美团和58同城面试的时候第一个问题基本上都是来说说 Java GC机制,当时年轻的我也很耿直,直接说不会,现在想想还是当时年轻啊。刚好这段时间被各大论坛的面试题刷屏,见到最多的也是也是这个问题,所以想来总结一下。2,GC简单的了解 GC :Garbage Collections 字面意思是垃圾回收器,释放垃圾占用的空间。让创建的对象不需要像c、c++那样delete、fre...转载 2019-06-12 16:08:50 · 125 阅读 · 0 评论