10 2021 档案
摘要:1 前言 SkyWalKing中对每个方法和调用时间都进行了统计。那么他是如何实现的呢? 其实他是用了ByteBuddy和Java agent技术来统计方法的调用时长。 1.1 javaagent我在上一篇博客中已经提到过链接地址: SkyWalking中javaagent的使用原理_IT盛夏的果实
阅读全文
摘要:1 什么是javaagent javaagent是Java命令的一个参数,参数javaagent可以指定任何一个jar包 1 这个jar包的MANIFEST.MF文件必须指定Premain-Class项 2 Premain-Class指定的类必须实现premain方法 并且当Java虚拟机启动时,在
阅读全文
摘要:1 概述: 本地mysql的密码不知道忘了多少次,每一次都要上网查找方法,特别耽误时间。这不,今天因为要测试一下服务调用Mysql的例子,又忘了。于是痛定思痛觉得一定要写一个笔记将这个修改密码的方法记住,防止下次又要在网上搜索。 2 首先 你要先找到mysql的安装路径 2.1 键盘:Win+R,输
阅读全文
摘要:1 目标:实现客户端上传任意类型的文件数据给服务端保存起来 客户端代码: public class Client { public static void main(String[] args) { try ( FileInputStream is = new FileInputStream("D:
阅读全文
摘要:目录 前言: 坑一:LoggerFactory is not a Logback LoggerContext but Logback is on the classpath 坑二:An attempt was made to call a method that does not exist. Th
阅读全文
摘要:1 概述 之前讲过客户端的并发访问量增加时,服务端将呈现1:1的线程开销,访问量越大,系统将发生线程栈溢出,线程创建失败,最终进程宕机或者僵死,从而不能对外提供服务。 所以我们采用一个位异步I/O的通信框架,采用线程池和任务队列实现,当客户端接入时,将客户端的Socket封装成一个Task(改任务实
阅读全文
摘要:目录 1 BIO基本介绍 2 BIO工作机制 3 同步阻塞案例 4 BIO模式多发和多收消息 1 BIO基本介绍 BIO是就是传统的io编程,其相关的类和接口在Java.io BIO:同步阻塞,服务器实现模式为一个线程一个连接,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做
阅读全文
摘要:今天在Linux上启动es时:显示我没有找到主机的路由,之前也报过类似的错误,是因为阿里云安全组配置没有配置该端口,后来配置好之后就解决了这个问题。今天又出现了这个问题,不由得让人好好想想。后来查阅资料发现,肯能是es启动时自动给jvm分配的内存不够导致的。所以需要我们修改默认内存参数。 我们进入到
阅读全文
2021-10-20 14:34:12,755 main ERROR RollingFileManager (/usr/local/skywalking/elasticsearch-7.15.1/lo
摘要:报错: 2021-10-20 14:34:12,755 main ERROR RollingFileManager (/usr/local/skywalking/elasticsearch-7.15.1/logs/elasticsearch_server.json) java.io.FileNotF
阅读全文
摘要:记录一个小方法,加强记忆。 其完整方法为BeanUtils.populate( Object bean, Map properties ) 这个方法会遍历map<key,value>中的key,如果bean中有这个属性,就把key中对应的value值赋值给bean的属性 eg: 一个实体类: pub
阅读全文
摘要:今天在Linux环境下部署elasticsearch时 启动时突然失败。报了如下图的一个错误: 翻译: 意思就是说我的jdk版本不符合要求。我的es安装的是7.15.1版本的。而jdk是1.8的,二者不能兼容。于是我将自己的jdk版本升级到了12版本。 编辑命令:vim /etc/profile 修
阅读全文
摘要:在我们平时开发中,我们提交代码免不了要和git打交道,那么我们肯定是先从预发分支上(公司一般都用pre命名,这里为了方便演示用master)上拉去最新的代码,然后自己在上面在切一个自己的功能分支(gongeng)进行开发。 但是如果我们一个功能模块开发完了之后,肯定提交了许多次,如果我们想把这么多提
阅读全文
摘要:目录 1 什么是注解 2 如何自定义一个注解 2.1 基本语法 3 注解使用示例 前言: 今天看了一个小段子,上面提到了注解有什么作用,那么注解有什么作用呢?我们来讨论一下 1 什么是注解 官方:注解是一种能够被添加到Java代码中的元数据,类、方法、变量、参数和包都可以用注解来修饰。注解对于他所修
阅读全文
摘要:目录 1 ThreadLocal介绍 2 使用ThreadLoca解决问题小demo 3 ThreadLocal与synchronized的区别 4 ThreadLocal的使用场景 5 ThreadLocal内部结构 6 ThreadLocal核心方法源码 7 使用ThreadLocal为什么会存
阅读全文
摘要:目录 1 simpleDateFormat的用法 2 SimpleDateFormat类的线程不安全问题 3 SimpleDateFormat线程不安全原因 4 如何解决线程不安全问题 5 LocalDate和Date的相互转换 6.Java8中的解析和格式化 7 获取一段时间内的所有日期 1 si
阅读全文
摘要:1 什么是ForkJoin ForkJoin框架:在一定情况下,将一个大任务,进行拆分(fork)成若干个小任务,直到这个小任务不可再拆,然后再将一个个小任务获得的结果进行join合并汇总 2 ForkJoin中的工作窃取算法 工作窃取算法就是如果我们需要将一个大的任务进行拆分成每个小任务,然后将每
阅读全文
摘要:单纯记录一个小bug 平时我们在利用Java8做归约收集的时候,肯能有时没有考虑到集合中会有空空对象的存在,此时我们加一个判断就可以解决这个问题 如此我们就解决问题,可能对于大多数的业务场景来说一般求和的话不会有null值,但个人觉得还是养成习惯过滤下比较好,省的出bug耽误时间再去排查
阅读全文