- 博客(67)
- 收藏
- 关注
转载 性能分析工具JProfile使用指导书
此视图和CPU section 里的hot spots view视图有些类似,只是显示的是分配的类的实例数和数组而不是时间度量。method calls (show filtered classes separately) :从方法调用中计算显示的热点,被过滤的类计算自己的热点,默认为此模式。你可以点击树节点,查看其包含的类 ,如图。要查看特定时间段对象的分配,并记录分配的调用堆栈,请使用“记录的对象视图”。 未过滤的类的第一级调用: 未过滤的类对过滤的类的第一级调用,对过滤类的深一级的调用不显示。
2023-07-24 09:52:29
3735
转载 Java多线程-volatile关键字
指令重排是指JVM在编译Java代码的时候,或者CPU在执行JVM字节码的时候,对现有的指令顺序进行重新排序。指令重排的目的是为了在不改变程序执行结果的前提下,优化程序的运行效率。需要注意的是,这里所说的不改变执行结果,指的是不改变单线程下的程序执行结果。然而,指令重排是一把双刃剑,虽然优化了程序的执行效率,但是在某些情况下,会影响到多线程的执行结果。我们来看看下面的例子。
2023-06-15 14:37:57
382
原创 Stream流Debug操作
Stream流Debug操作,显示出英文:Trace Current Stream Chain。(1)过滤掉(age)年龄小于等于18岁的数据。(3)最后收映射好的数据,放入一个集合容器中去。意思是 :跟踪当前的Stream流链路。(2)映射出每个人的年龄。(4)debug结束。
2023-06-14 14:25:29
1590
转载 CompletableFuture用法详解
在Java 8中, 新增加了一个包含50个方法左右的类: CompletableFuture,结合了Future的优点,提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,提供了函数式编程的能力,可以通过回调的方式处理计算结果,并且提供了转换和组合CompletableFuture的方法。CompletableFuture被设计在Java中进行异步编程。异步编程意味着在主线程之外创建一个独立的线程,与主线程分隔开,并在上面运行一个非阻塞的任务,然后通知主线程进展,成功或者失败。
2023-06-13 18:43:57
405
原创 SpringBoot中的定时任务@Scheduled的使用
SpringBoot中可以使用@EnableScheduling和@Scheduled注解实现定时任务调度,但是注意默认所有任务都被单个线程调度的,有可能任务之间发生阻塞现象,可以使用@EnableAsync和@Async注解实现异步多线程任务调度,但需要注意任务执行时间如果大于任务调度周期时间,可能出现同一个任务交叉执行的情况。上述6可以解决相关问题。
2023-06-08 21:12:49
3787
转载 JAVA设计模式之单例模式
本课时我们讲了 8 种实现单例的方式,包括线程安全但可能会造成系统资源浪费的饿汉模式,以及懒汉模式和懒汉模式变种的 5 种实现方式。其中包含了两种双重检测锁的懒汉变种模式,还有最后两种线程安全且可以实现延迟加载的静态内部类的实现方式和枚举类的实现方式,其中比较推荐使用的是后两种单例模式的实现方式。
2023-04-17 10:35:54
353
转载 JAVA设计模式之工厂模式
本文将对工厂模式进行详细的分析与讲解,主要脉络是由浅入深,从简单工厂到抽象工厂模式,逐渐地递进分析并体现优化过程,阐述简单工厂、工厂方法、抽象工厂之间的关系,认清每种模式的定位以及如何理解。本文章是笔者查阅网上资料并结合自己的理解总结而来,若有不同见解的网友欢迎参与讨论共同进步。
2023-04-13 16:58:29
453
转载 Linux环境Mysql安装步骤
Linux环境Mysql安装步骤,Mysql官方地址:MySQL打开官网地址点击DOWNLOADS进入DOWNLOADS页面选择进入这里选择Download Archvies 进入。
2023-04-07 11:22:58
390
原创 Navicat连接数据库出现 is not allowed to connect to this MySQL server 报错
Navicat连接数据库出现 is not allowed to connect to this MySQL server 报错,那是因为mysql数据只允许自身所在的本机器连接,不允许进行远程连接
2023-04-07 10:52:03
1535
转载 Linux中使用yum install openssl-devel出现错误
针对这个问题首先要确认网卡是否已经启动了,CentOS7最开始安装完的时候网卡可能会是关闭的,需要自己自行开启。确保自己使用的是root账号,若不是,请自行更换。(1)进入/etc/sysconfig/network-scripts 目录。即输入命令 "cd /etc/sysconfig/network-scripts" ,使用命令 "ls -a" 可以查看该目录下的所有文件。
2023-04-07 09:31:35
3279
1
原创 Linux安装Mysql server镜像安装失败 警告:mysql-community-devel-8.0.31-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature
Linux安装Mysql server镜像安装失败 警告:mysql-community-devel-8.0.31-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY错误:依赖检测失败:
2023-04-06 16:58:35
4233
1
原创 Linux的PS与JPS命令
(英文全拼:JavaVirtual Machine Process Status Tool)它是jdk提供的一个查看当前java进程的小工具, 用来查看基于HotSpot的JVM里面中,所有具有访问权限的Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。-V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件)-w 显示加宽可以显示较多的资讯。
2023-04-06 14:38:34
1308
原创 计算机体系结构(校验码+总线)
计算机系统运行时,为了确保数据在传送过程中正确无误,一是提高硬件电路的可靠性;二就是是提高代码的校验能力,包括查错和纠错。通常使用校验码的方法检测传送的数据是否出错。这里的校验码主要是指循环冗余校验码(英文:Cyclic Redundancy Check,CRC),简称循环码,是一种常用的、具有检错、纠错能力的校验码,广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验位来进行编码,其编码长度为k+r。
2023-03-20 19:25:07
572
原创 利用Mysql定时+存储过程创建临时表统计数据
mysql的定时任务是使用event(事件)来实现的,自mysql5.1.6版本起,增加了这个功能 - 事件调度器(event scheduler),它可以精确到每秒钟执行一个任务,在一些对数据实时性要求比较高的场景非常使用,接下来我将用mysql的event事件来实现定时统计数据。
2023-03-16 09:56:20
1795
1
原创 基于Redis GEO实现加油站搜索附近车辆
Geo算法是业界比较常用的地理位置排序算法,Redis也采用该算法,它是将二维的经纬度数据映射到一维的整数,这样所有的元素都会被挂在到一条线上,距离相近的二维坐标映射到一维后的点之间距离也会很近,当加油站查找附近的车辆时候,首先将目标位置映射到这条线上,然后在这个一维的线上获取附近的点就可以了。下图展示了天安门 9 个区域的 geohash 字符串,每个字符串表示一个矩形区域(使用一维数据来表示二维坐标)。
2023-03-14 20:20:36
730
原创 Linux防火墙的关闭
打开终端输入如下命令如图所示:running表示防火墙目前处于打开状态如图所示正常的用户是没有权限的,需要输入管理员的密码才能够进行关闭防火墙。那么就要在终端进行用户切换。
2023-03-13 19:09:38
3725
原创 计算机体系结构(计算机系统的组成,指令系统,存储系统)
计算机系统可划分为硬件(子系统)和软件(子系统)两部分。硬件由处理器(含运算单元和控制单元)、存储器、输入设备和输出设备等物理实体构成。软件是一系列按照特定顺序组织的数据和指令,并控制硬件完成指定的功能。可将计算机软件进一步分为系统软件和应用软件,系统软件是指支持应用软件的运行,为用户开发应用软件提供平台支撑的软件,而应用软件是指计算机用户利用计算机的软、硬件资源为某一专门的应用目的而开发的软件。典型的计算机系统组成如下图所示。
2023-03-13 11:32:10
3256
原创 Java中的反射
通过反射技术对象类进行了解剖得到了类的所有成员。反射之操作构造方法的目的:获得Constructor对象来创建类的对象。Constructor类概述:类中的每一个构造方法都是一个Constructor类的对象反射之操作成员方法的目的:操作Method对象来调用成员方法Method类概述:每一个成员方法都是一个Method类的对象。反射之操作成员变量的目的 :通过Field对象给对应的成员变量赋值和取值。
2023-03-12 16:30:30
2211
1
原创 Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported
org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported
2022-10-13 10:37:41
1449
原创 Git-cherry pick的使用
git cherry-pick可以理解为"挑拣"提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,那么就要使用git cherry-pick了。:master上新的commit id与develop上的id并不相同,即只是将develop上的修改拷贝过来作为一个新的提交。(1)切换到master分支:git checkout master。...
2022-08-07 16:22:52
622
原创 java.lang.NoClassDefFoundError: org/gradle/api/internal/plugins/DefaultConvention
java.lang.NoClassDefFoundError: org/gradle/api/internal/plugins/DefaultConvention
2022-06-23 12:42:00
1934
原创 http://mybatis.org/dtd/mybatis-3-config.dtd报红解决
http://mybatis.org/dtd/mybatis-3-config.dtd报红解决
2022-05-12 13:02:22
2208
1
原创 BigDecimal.ROUND_HALF_DOWN(五舍六入)
BigDecimal.ROUND_HALF_DOWN(五舍六入),BigDecimal.ROUND_HALF_UP(四舍五入),BigDecimal.ROUND_UP(进位处理),BigDecimal.ROUND_DOWN(去掉尾数)
2022-05-04 22:19:34
6180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人