首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏高爽的专栏

    Collections.sort in JDK6:MergeSort

           本文是对JDK6中Collections.sort方法的源码解析,也可以看作是对Comparison method violates its general contract! 在JDK6中,该方法底层使用的是经过优化后的归并排序,废话不多说,直接看源码。 public static <T> void sort(List<T> list, Comparator<? 这里是JDK6中归并排序的第一个优化。 这里是JDK6中归并排序的第二个优化。 JDK6中的排序是基于传统的归并排序做了部分优化,这两个优化都很简单,实际上效率并未提高多少。所以在JDK7中将其替换为TimSort,下回分解。       (完)

    1.1K00发布于 2017-12-28
  • 来自专栏全栈程序员必看

    JVM垃圾回收器_jdk6默认垃圾回收器

    如果说垃圾回收算法是内存回收的方法论,那么垃圾回收器就是内存回收的具体实现,下图展示了7中作用于不同分代的收集器。其中用于新生代的回收器包括Serial,PraNew,Parallel Scavenge,回收老年代的收集器包括 Serial Old ,Parallel old,CMS,还有作用于回收整个java堆的G1收集器,不同收集器之间的连线表示他们可以搭配使用。

    88710编辑于 2022-10-01
  • 来自专栏RFFAN实验室

    JCE补丁下载(JDK6、JDK7、JDK8)

    security目录下覆盖原来的文件

  • *
  • 如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件
  • * 适用JDK6 www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html 未经允许不得转载:RffanLAB|Rffan实验室 » JCE补丁下载(JDK6

2.8K20发布于 2021-04-09
  • 来自专栏龙首琴剑庐

    JVM常见垃圾回收器组合参数设定(JDK6 To JDK14)

    小型程序。默认情况下不会是这种选项,HotSpot会根据计算及配置和JDK版本自动选择收集器

    1.2K40发布于 2020-04-24
  • 来自专栏搜云库技术团队

    还在用JDK6的同学,来看看JDK13新特性详解吧

    在 JDK 版本的世界里,从来都是 Oracle 发他的新版本,我们继续用我们的老版本。三年之前用 JDK 7,后来终于升级到了

    1.3K30发布于 2019-10-10
  • 来自专栏Lambda

    Java String的intern方法 在JDK6和JDK7的不同行为

    java 内存模型中存在一个叫做 String常量池的区域,其中存放着字符串常量。

    81230编辑于 2022-04-13
  • 来自专栏清风

    Linux服务器硬盘空间监控 原

    /bin/bash #echo需要-e参数 alias echo='echo -e' SHELL=/bin/bash LC_ALL=zh_CN.GB18030 JAVA_JRE=/usr/jdk6/jre export/home/tmn/oracle/product/11.2.0/dbhome/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/jdk6 /bin:/usr/jdk6/jre/bin:/sbin:/usr/bin:. :/export/home/tmn/bin:/usr/jdk6/bin:/usr/jdk6/jre/bin:/sbin:/usr/bin:. =/usr/local/unixODBC CLASSPATH=/usr/jdk6/lib:/usr/jdk6/jre/lib:.

    2.8K20发布于 2018-08-15
  • 来自专栏机器学习实践二三事

    【JDK】:ConcurrentHashMap高并发机制——【转载】

    分别列出了JDK6中的Segment分段加锁机制和JDK8中的CAS无锁算法并发机制。 基于JDK6JDK6中ConcurrentHashMap的的并发实现主要利用内部类Segment实现”分段加锁“的思想。 程晓明,探索 ConcurrentHashMap 高并发性的实现机制 方腾飞,聊聊并发(四)——深入分析ConcurrentHashMap 基于JDK8 JDK8的版本,与JDK6的版本有很大的差异。

    59610发布于 2019-05-26
  • 来自专栏高爽的专栏

    Comparison method violates its general contract!

    今天我们就来说说JDK6升级到JDK7会遇到的坑。本文为了方便搜索,就直接以异常信息作为文章标题了。 为什么上面代码在JDK6中运行无问题,而在JDK7中却会抛异常呢? JDK6的排序算法,在不能修改代码的情况下,解决这个兼容的问题。 分析 在我以前的认知中,高版本的JDK是可以兼容之前的代码的,与同事讨论了一番另加搜索了一番,事实证明,JDK6到JDK7确实存在兼容问题(不兼容列表)。 JDK6中的实现则忽略了这种情况。那么比较的约束是什么呢?看这里,大体如下: ?

    1.3K00发布于 2017-12-28
  • 来自专栏机器学习实践二三事

    探究Java的ConcurrentHashMap实现机制

    分别列出了JDK6中的Segment分段加锁机制和JDK8中的CAS无锁算法并发机制。 基于JDK6JDK6中ConcurrentHashMap的的并发实现主要利用内部类Segment实现”分段加锁“的思想。 程晓明,探索 ConcurrentHashMap 高并发性的实现机制 方腾飞,聊聊并发(四)——深入分析ConcurrentHashMap 基于JDK8 JDK8的版本,与JDK6的版本有很大的差异。

    77840发布于 2019-05-26
  • 来自专栏Java技术栈

    注意:字符串substring方法在jkd6,7,8中的差异。

    标题中的substring方法指的是字符串的substring(int beginIndex, int endIndex)方法,这个方法在jdk6,7是有差异的。 substring有什么用? JDK 6 String背后是由char数组构成的,在JDK6中,String包含三个字段:char value[], int offset, int count,意思很简单。 JDK6中的部分源码可以说明这个问题。 对于JDK 6,解决方案是使用以下内容: x = x.substring(x, y) + "" JDK 7,8 JDK6这种问题在JDK7+中已经改善了,JDK7+中实际是重新创建了一个字符数组,如图。

    1.1K60发布于 2018-03-30
  • 来自专栏光变

    Javac命令使用ct.sym文件约束可使用的类

    JDK6,升级为JDK7或者JDK8的过程中会遇到一些奇怪的问题,简单的介绍一下经典的ClassNotFound:sun.nio.*、com.sun.image.codec.jpeg.*等。 背景简介 很多项目使用在JDK6升级到JDK7或者JDK8的过程中,会遇到一些问题。 class TestCtSymJdk6NotPass { private JPEGCodec jpegCodec; private SdpSupport sdpSupport; } JDK6 原因 在JDK6以及以后的版本,JDK在目录下新增了一个链接文件${JDK_HOME}/lib/ct.sym文件。 比如JDK6中的sun.net.sdp.SdpSupport类。在ct.sym中就没有sun.net.sdp包。 ?

    2.3K41发布于 2018-08-07
  • 来自专栏大大的微笑

    深入理解JVM原理之编译openjdk7

    -dev libcups-dev libxrender-dev xorg-dev ant(1.7以上) libxtst-dev libxi-dev libxt-dev ②.openjdk7 , jdk6 我使用的jdk6为:jdk-6u45, ③.将CurrencyData.properties文件中的日期一定要改成10年内, 否则在编译过程中会报错从而导致编译失败: Error: time is more 执行如下命令: export LANG=C export ALT_BOOTDIR="/usr/local/jdk6" export ALT_JDK_IMPORT_PATH="/usr/local/jdk6

    1.4K90发布于 2018-02-27
  • 来自专栏编程从踩坑到跳坑

    String::intern方法

    然而在JDK6与JDK7+由于虚拟机的调整,intern返回的对象有所不同。 仅讨论hotspot的实现 下面代码在JDK6与JDK8中会有不同的结果。 System.out.println(str1 == str1.intern()); System.out.println(str2 == str2.intern()); } } JDK6 false false JDK6还保留着永久代(对JAVA虚拟机规范中的方法区的实现),字符串常量池在永久代中。

    56620发布于 2020-01-14
  • 来自专栏Java那些事

    深入比较Java 6,7,8中的String.intern()

    JDK6的时候,很多标准规范禁止使用String.intern(),因为如果池化控制不好的话,非常可能碰到OOM。 bug_id=6962930 JDK6中的String.intern() JDK6时代,所有通过String.intern()处理过的字符串都被保存在PermGen中,是Java堆的一个固定大小部分,主要用来存储已经加载的类信息和字符串常量池 JDK6中字符串常量池这样的实现最大的问题的就是它保存的地方--PermGen。 JDK6中StringTableSize这个参数帮助价值不大,因为还是受到PermGen固定大小的限制。所以,接下来的讨论将抛弃JDK6JDK6到JDK7u40之间XX:StringTableSize默认值是1009,7u40以后,包括JDK8,这个默认值被提升到60013。

    1K10发布于 2020-03-26
  • 来自专栏ml

    java 安装配置时出现的问题

    Error: could not open `C:\Program Files\Java\jre6\lib\i386\jvm.cfg') jdkerror  前些日子装了个jdk7试了试,后来做项目需要换成jdk6 ,安装完jdk6,设置完环境变量后出现问题。

    3.2K110发布于 2018-03-22
  • 来自专栏csxiaoyao

    macos下java版本动态切换

    /usr/libexec/java_home -v 1.8` # 设置默认JDK export JAVA_HOME=$JAVA_8_HOME # 设置alias命令动态切换JDK版本 alias jdk6 =$JAVA_6_HOME" alias jdk8="export JAVA_HOME=$JAVA_8_HOME" 3 生效 $ source ~/.bash_profile 4 切换JDK版本 $ jdk6

    1.9K70发布于 2018-05-11
  • 来自专栏禅林阆苑

    macos下java版本动态切换 【原创】

    /usr/libexec/java_home -v 1.8` # 设置默认JDK export JAVA_HOME=$JAVA_8_HOME # 设置alias命令动态切换JDK版本 alias jdk6 =$JAVA_6_HOME" alias jdk8="export JAVA_HOME=$JAVA_8_HOME" 3 生效 $ source ~/.bash_profile 4 切换JDK版本 $ jdk6

    1.4K110发布于 2018-04-28
  • 来自专栏程序员互动联盟

    【专业技术】深入理解Java字符串函数substring

    JDK6和JDK7中有哪些不一样吗? 那么在JDK6和JDK7中substring到底是怎么操作的呢? 3. JDK 6中的substring()方法: String实际上是一个字符数组.在 JDK6中, String对象主要包含3个属性域: value 字符数组,存储字符串实际的内容 offset 该字符串在字符数组

    1.1K60发布于 2018-03-12
  • 来自专栏Kirito的技术分享

    OracleJDK和OpenJDK有什么区别?

    JDK6的代码,由于历史原因,Sun JDK6跟OpenJDK6的代码并不同步。但是其中的HotSpot VM仍然是相对一致的。 另外,Sun JDK6跟OpenJDK6在切代码的时候不一定是在同一天,所以同一个大版本号(例如HotSpot 20.0)里面的内容可能会稍微有点不一样。

    1K30发布于 2021-09-08
  • 领券