首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    国产优秀java开源博客-Halo

    大家好,我是指北君,今天为大家推荐一款优秀的国产开源博客。如何评价一个开源项目是否优秀呢?...Halo 就是这样一个基于Java语言的国产优秀开源博客项目,Github上Star 20k+。...图片推荐理由开箱即用,文档手册完整,对非技术人员友好官网、手册、开发社区成熟完整,各种主题也可以支持你不安分的内心java开源,前后端分离,对于Java 开发者来说很友好,易于二次开发功能齐全,支持多种安装方式...个人使用这个博客也有近两年了,稳定性还不错,版本升级备份也很简单,也自己修改了一些个性化的代码,总的来说蛮适合Java开发者的。...对其他语言开发者来说,也不失为一个学习springboot的实用项目,相比于更为流行的 WordPress 也毫不逊色,作为优秀的国产开源项目值得支持一下。

    96020

    深入浅出 Java CMS 学习笔记

    7、 CMS和Full gc是不是一回事? 8、 CMS何时触发? 9、 CMS的日志如何分析? 10、 CMS的调优如何做? 11、 CMS扫描那些对象?...2、 我之前对CMS的理解,以为它是针对老年代的收集器。今天查阅了《Java性能优化权威指南》和《Java性能权威指南》两本书,确认之前的理解是错误的。...3、 永久代空间(或Java8的元空间)耗尽,默认情况下,CMS不会对永久代进行收集,一旦永久代空间耗尽,就回触发Full GC。...通常来讲,这个过程需要几个迭代,但是还是有一定的套路,参见《Java性能权威指南》中给出的建议,摘抄如下: “ 对特定的应用程序,该标志的更优值可以根据 GC 日志中 CMS 周期首次启动失败时的值得到...开启对永久代的垃圾收集只是其中的一步,还需要开启另一个参数——CMSClassUnloadingEnabled,使得在垃圾收集的时候可以卸载不用的。 四、CMS的trade-off是什么?

    1.3K10

    Java —— 包装(Wrapper

    参考链接: Java包装器Wrapper 【概述】  由于 Java 中的八种基本数据类型不面向对象,为了使用方便,为每个基本数据类型设计了一个对应的,这样八种基本数据类型对应的统称为包装(Wrapper...Class),均位于 java.lang 包中。 ...:  作为基本数据类型对应的类型存在,方便涉及到对象的操作包含每种基本数据类型的相关属性(最大值、最小值等)以及相关的操作方法 【Number 】  抽象 Number 是 BigDecimal、...  Integer 、Long 、Short 、Byte 都是对整数进行操作,包含的方法基本相同,区别只是表示的范围不同,以下以 Integer 介绍整数包装。 ...  Double 、Float 都是对小数进行操作,包含的方法基本相同,区别只是表示的范围不同,以下以 Double 介绍小数包装

    2.6K10

    JAVA 性能调优 -- 带你解读 CMS GC 日志

    引言 连续两篇文章,我们介绍了 java 最为常用的两大垃圾收集器 -- CMS 与 G1: CMS 执行的七个阶段 驾驭一切的垃圾收集器 -- G1 在 G1 收集器的介绍中,我们提到,CMS 有着非常多的参数来控制整个流程...,因此,要想进行 GC 相关的 java 性能调优,首要的基础就是要去深入了解垃圾回收相关的全部参数,在此基础上,看懂和分析 GC 日志,就成为了 java 程序员必备的一项技能。...最后,程序进行了一次完整的 CMS minor GC: 2021-02-06T12:42:47.120-0800: [GC (CMS Initial Mark) [1 CMS-initial-mark:...并发可中断预清理 -- CMS-concurrent-abortable 最终标记 -- CMS Final Remark 并发清除 -- CMS-concurrent-sweep 并发重置 -- CMS-concurrent-reset...老年代重新扫描耗时 0.0007304 秒 weak refs processing, 0.0000118 secs -- 弱引用处理耗时 class unloading, 0.0007235 secs -- 加载处理耗时

    2.2K30

    Java虚拟机 CMS GC 调优解析

    本文主要以 CMS GC 为核心,简要解析有关在基于CMS GC 策略下进行 Java 虚拟机调优的最佳实践建议。涉及常见关键症状、堆空间以及 GC Log。...本文主要基于笔者当前公司的应用环境,主要采用 Java 8。在 Java 8中,CMS 是默认的垃圾收集器,其核心目标为倾向于以最少的垃圾收集暂停时间提供最佳的性能特性。...在进行解析之前,我们先来了解下 Java 虚拟机体现架构,具体如下示意图所示: 从上面架构图可以看出,各个组件在整个 Java 虚拟机体系中的位置以及发挥的作用。...通常,在基于 Java 8 ,建议大家优先采用 CMS(Concurrent Mark Sweep),它是一个吞吐量收集器,在与应用程序同时运行时往往会提供最佳性能,这意味着较少的暂停时间。...至此,关于 Java虚拟机 CMS GC 调优解析相关内容本文到此为止,大家有什么疑问、想法及建议,欢迎留言沟通。

    63530

    Java 虚拟机之 CMS GC 调优解析

    本文主要以 CMS GC 为核心,简要解析有关在基于 CMS GC 策略下进行 Java 虚拟机调优的最佳实践建议。涉及常见关键症状、堆空间以及 GC Log。...本文主要基于笔者当前公司的应用环境,主要采用 Java 8。在 Java 8 中,CMS 是默认的垃圾收集器,其核心目标为倾向于以最少的垃圾收集暂停时间提供最佳的性能特性。...Java 虚拟机体系中的位置以及发挥的作用。...通常,在基于 Java 8 ,建议大家优先采用 CMS(Concurrent Mark Sweep),它是一个吞吐量收集器,在与应用程序同时运行时往往会提供最佳性能,这意味着较少的暂停时间。...至此,关于 Java虚拟机 CMS GC 调优解析相关内容本文到此为止,大家有什么疑问、想法及建议,欢迎留言沟通。

    76360

    java日期(二)TimeZone,Calender

    目录 TimeZone(时区) TimeZone对象 getDefault() 获取本地的时区对象 getAvailableIDs() 获取全世界的时区id getAvailableIDs(int...rawOffset) 根据偏移量获取时区id getTimeZone(String ID) getDisplayName() getID() 获取到当前的时区id Calender 概念 calender...对象里面有什么 从源码里面学习这个Calender setTime() get() add(int field, int amount) TimeZone(时区) 每一个地区都有时区id ,就是国际上面认定的时区...getDisplayName() 也就是展示 时区 名称 getID() 获取到当前的时区id Calender 概念 calender对象里面有什么 这个对象里面的东西如下: java.util.GregorianCalendar...setTime() 我们前端传过来的时间是字符串类型,我们要对这个时间进行操作,那么就可以转为Calender 这个对象,进行操作,因为这个里面的方法是很多的,可以对时间进行各种各样的操作。

    1.5K30

    初识JAVAJava库之StringBuffer(重点)

    在讲解StringBuffer之前首先来简单回顾一下String的特点: · String的对象有两种实例化方式,一种是直接赋值,只会开辟一块堆内存空间,而且对象可以自动入池,另外一种方式使用构造方法完成...,但是其不适合于被频繁修改的字符串操作上,所以在这种情况下,往往可以使用StringBuffer,即:StringBuffer方便用户进行内容的修改。...在String之中使用“+”作为数据库的连接操作,而在StringBuffer之中使用append()方法进行数据的连接。...现在表示字符串的操作就有了两个:String、StringBuffer,那么下面通过这两个的定义来研究一下关系: 现在发现String和StringBuffer都实现了一个CharSequence...,同样,在StringBuffer之中也定义了许多的操作方法,而且有些方法还是String所有没有的支持。

    73510

    Java排序

    Java排序 今天上课,老师讲到Arrays.sor()的时候说,这个可以对数组进行排序,于是当时脑海中立刻浮现出两个问题:一、如果对排序,一定要把实现什么接口。...二、实现了这个接口,Java怎么知道一个是否实现了某个接口。于是带着这个问题做了一翻查找。...集合的排序主要是用Collections.sort方法,Collections和Collection是不一样的,前者是,后者是接口。...以上两种方法,得到的结果都一样: Name=Dog Age=23 Name=Flowers Age=36 Name=About Age=67 查看Collection.sort的源代码,不难看出Java...的思路,先讲集合转化为数组,然后调用Arrays.sort方法进行排序,同时传递过去比较器,最后利用集合的迭代器将结果赋值回集合中。

    59410

    Java 包装

    目录 概述 创建对象 直接使用字面值 使用构造方法 使用静态方法valueOf 常用方法 自动装箱与自动拆箱 概述 自动装箱 自动拆箱 原理 概述 ​  Java为每一个基本数据类型提供了对应的一个包装...包装是一个,这样Java就可以在包装中提供常用的方法等供我们使用。  ...java并不是纯面向对象的语言,java语言是一个面向对象的语言,但是java中的基本数据类型却不是面向对象的,但是我们在实际使用中经常将基本数据类型转换成对象,便于操作,比如,集合的操作中,这时,我们就需要将基本类型数据转化成对象...基本数据类型和对应包装的对应关系为: 基本数据类型 包装 byte Byte boolean Boolean short Short char Character int Integer long...主要是让基本数据和对应的包装进行自动的转换,方便我们的使用。 自动装箱 ​ 自动装箱就是基本数据类型可以自动转换为对应的包装

    58430

    JAVA加载

    一、什么是的加载 在介绍的加载机制之前,先来看看,的加载机制在整个 java 程序运行期间处于一个什么环节,下面使用一张图来表示: 从上图可以看,java 文件通过编译器变成了.class 文件,...(2)元数据验证:主要是对字节码描述的信息进行语义分析,以保证其描述的信息符合 java 语言规范的要求,比如说验证这个是不是有父中的字段方法是不是和父冲突等等。...,则其父 也 会 被 初 始 化 Java 虚 拟 机 启 动 时 被 标 明 为 启 动 ( JavaTest),直接使用 java.exe 命令来运行某个主好了,到目前为止就是加载机制的整个过程...我们看到 java为我们提供了三个加载器,应用程序都是由这三种加载器互相配合进行加载的,如果有必要,我们还可以加入自定义的加载器。这三种加载器的加载顺序是什么呢?...** 4、自定义加载器 在这一部分第一小节中,我们提到了 java 系统为我们提供的三种加载器,还给出了他们的层次关系图,最下面就是自定义加载器,那么我们如何自己定义 加载器呢?

    1.1K75
    领券