精华内容
下载资源
问答
  • jdk更新日志
    2022-01-12 19:17:48

    进入:https://docs.oracle.com/en/java/javase/17/index.html

    在这里插入图片描述

    更多相关内容
  • 如何查看Java JDK版本的更新内容

    千次阅读 2020-09-05 17:01:52
    被面试到了jdk版本的差异,新特性有哪些,在一家公司上班就了,用的jdk都没有变化过,平时都是不怎么关注java jdk版本的不同。于是趁有点时间,有点学习激情的时候,去了解。...比如说,我要看JDK11更新了些什么特性,

    被面试到了jdk版本的差异,新特性有哪些,在一家公司上班久了,用的jdk都没有变化过,平时都是不怎么关注java jdk版本的不同。于是趁有点时间,有点学习激情的时候,去了解。

    要看Java JDK版本,百度不就有很多网友提供了吗,是的,但是不全面,还是直接去官网溜达一下看看情况。

    给你一个JAVA 文档跟路径:https://docs.oracle.com/en/java/javase/ 点击链接进去,看到:
    在这里插入图片描述
    从JDK1.7到JDK14,显然1.6已经放弃了。
    比如说,我要看JDK11更新了些什么特性,往下操作:点击JDK11,打开:找到模块:Language and Libraries

    在这里插入图片描述
    找到Language Updates打开:
    里面介绍了代码的写法不同。

    展开全文
  • jdklogging.rar,MyConsoleHandler.java,LogClient.java,MySimpleFormatter.java
  • JDK1.8最新

    2018-05-15 17:43:58
    jdk1.8 jdk1.8 jdk1.8 jdk1.8 jdk1.8 jdk1.8 jdk1.8 jdk1.8
  • JDK11 GC日志输出

    千次阅读 2021-12-13 11:24:02
    总结一下日志输出的几个命令: -XX:+PrintGC 输出简略信息 -XX:+PrintGCDetails 输出详细信息 -XX:+PrintGCTimeStamps 输出...上述gc日志是在JDK1.8中常用到的,但是在jdk11中已经被标记为过时 那么在jdk11中...

    总结一下日志输出的几个命令:

    -XX:+PrintGC                        输出简略信息

    -XX:+PrintGCDetails             输出详细信息

    -XX:+PrintGCTimeStamps    输出时间戳

    -XX:+PrintGCDateStamps    输出日期

    -XX:+XLoggc:.logs/a.log        输出到文件

    上述gc日志是在JDK1.8中常用到的,但是在jdk11中已经被标记为过时

     那么在jdk11中怎么打印呢?

    jdk11提供了新的日志框架 使用-Xlog开启使用,参数有很多,不单单是GC日志的,这里只介绍GC有关的常用命令,有需要的可以到官方文档中查看

    -Xlog:gc  打开gc简略日志:

     -Xlog:gc* 打开gc详细日志

     -Xlog:gc*:filename  或者 -Xlog:gc*:file=filename  日志输出到文件

    -Xlog:gc*:logs/gc.log

     

     其实日志中发现,新的日志框架已经默认把时间时间戳开启了,那么怎么开启日期显示呢?

    -Xlog:gc*:filename:logs/gc.log:time

    -Xlog:gc*:logs/gc.log:time

     

    其他参数

    -Xlog:gc*:logs/gc.log:time:filecount=10:filesize=10m

    :filecount=10                历史文件数量10个

    :filesize=10m                文件大小不超过10M

     简单记录一下,如有什么不对的欢迎指正

    展开全文
  • 我一个项目在自己项目里面打印日志是生效的,但是一旦把这个项目 install 成 jar 包时,提供给其他项目引入 jar 使用后,再次触发打印这个 jar 里的日志时,原来的配置失效,这里特别指出的是时间格式化配置失效,...

    问题描述

    我一个项目在自己项目里面打印日志是生效的,但是一旦把这个项目 install 成 jar 包时,提供给其他项目引入 jar 使用后,再次触发打印这个 jar 里的日志时,原来的配置失效,这里特别指出的是时间格式化配置失效,因为后面通过日志 Level 能确定是生效的,但是时间格式化配置始终不生效。 

    Jar 代码 

    package com.jite.flow.engine;
    
    import java.io.IOException;
    import java.util.logging.LogManager;
    import java.util.logging.Logger;
    
    /**
     * @author Lux Sun
     * @date 2021/10/19
     */
    public class LoggerBuilder {
    
        public static final Logger LOG = Logger.getLogger(LoggerBuilder.class.getName());
    
        static {
            if (System.getProperty("java.util.logging.config.file") == null &&
                    System.getProperty("java.util.logging.config.class") == null) {
                try {
                    LogManager.getLogManager().readConfiguration(LoggerBuilder.class.getResourceAsStream("/log.properties"));
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    
        public static void build() {
            LOG.info("Load the Logger successfully");
        }
    }
    handlers=java.util.logging.ConsoleHandler
    java.util.logging.ConsoleHandler.level=INFO
    java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
    java.util.logging.SimpleFormatter.format=%1$tF %tT.%1$tL %4$s [%2$s] - %5$s %6$s%n

    分析原因

    默认情况下,JDK的LogManager会在JRE目录下的"lib/logging.properties"这个文件中读取配置。

    除此之外,LogManager还可以根据两个系统属性来允许用户控制日志的配置

    • "java.util.logging.config.class"
    • "java.util.logging.config.file"

    其中,class这个属性优先有效,如果设置,会忽略file这个属性。

    而且关于 JAVA 代码中的日志级别的设置,在JDK中实际上是有默认的日志级别的。

    在配置文件:%JAVA_HOME%\jre\lib\logging.properties中;如果JAVA设置的级别比配置文件中配置的还要低,则以配置文件中配置的为准,如果比配置文件中的高,则以程序中配置的为准。

    解决方案

    Java中设置属性也有两种方法

    • Preferences API
    • 启动的时候,命令行参数

    使用Preferences API设置如下

    System.setProperty("java.util.logging.config.class", "Your class");

    System.setProperty("java.util.logging.config.file", "Your properties file");

    设置之后需要调用以下代码方可生效:

    LogManager.getLogManager().readConfiguration();

    命令行参数是指,启动的时候用 -D<name>=<value>的方式指定属性,具体到这里,我们就可以用

    java -Djava.util.logging.config.file=abc.properties YourMainClass

    指定使用 abc.properties 这个文件作为配置文件。如果需要,可以加上文件的路径名。

    Tomcat 指定日志配置文件就是使用的命令行参数,用记事本打开 ${tomcat_home}/bin/catalina.bat 文件,可以看到如下内容

    if not "%LOGGING_CONFIG%" == "" goto noJuliConfig
    set LOGGING_CONFIG=-Dnop
    if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuliConfig
    set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
    :noJuliConfig
    set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%

    一个简单的自定义配置文件如下

    ############################################################
    #  	Default Logging Configuration File
    #
    # You can use a different file by specifying a filename
    # with the java.util.logging.config.file system property.  
    # For example java -Djava.util.logging.config.file=myfile
    ############################################################
    
    ############################################################
    #  	Global properties
    ############################################################
    
    # "handlers" specifies a comma separated list of log Handler 
    # classes.  These handlers will be installed during VM startup.
    # Note that these classes must be on the system classpath.
    # By default we only configure a ConsoleHandler, which will only
    # show messages at the INFO and above levels.
    handlers= java.util.logging.ConsoleHandler,java.util.logging.FileHandler
    
    # To also add the FileHandler, use the following line instead.
    #handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
    
    # Default global logging level.
    # This specifies which kinds of events are logged across
    # all loggers.  For any given facility this global level
    # can be overriden by a facility specific level
    # Note that the ConsoleHandler also has a separate level
    # setting to limit messages printed to the console.
    .level= INFO
    
    ############################################################
    # Handler specific properties.
    # Describes specific configuration info for Handlers.
    ############################################################
    
    # default file output is in user's home directory.
    #java.util.logging.FileHandler.pattern = %h/java%u.log
    #java.util.logging.FileHandler.pattern = ..\\logs\\logger.log
    java.util.logging.FileHandler.pattern = C:\\zzj\\logger.log
    java.util.logging.FileHandler.limit = 50000
    java.util.logging.FileHandler.count = 1
    #java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
    java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
    
    # Limit the message that are printed on the console to INFO and above.
    java.util.logging.ConsoleHandler.level = INFO
    #java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
    java.util.logging.ConsoleHandler.formatter = java.util.logging.XMLFormatter
    
    
    ############################################################
    # Facility specific properties.
    # Provides extra control for each logger.
    ############################################################
    
    # For example, set the com.xyz.foo logger to only log SEVERE
    # messages:
    com.xyz.foo.level = SEVERE
    

    在默认配置文件的基础上添加了FileHandler,并且指定日志文件路径为C:\\zzj\\logger.log,使用SimpleFormatter格式化输出。

    注意:日志文件路径不能直接在盘符下,例如不能指定日志文件路径为C:\\logger.log。

    当然,这里还引发另一个问题

    我试图在我的应用程序启动时加载自定义log.properties文件。

    我的属性文件和我的主类在同一个包中,所以我认为如下命令行参数应该加载属性文件。

    -Djava.util.logging.config.file=log.properties

    但是,只有当我指定属性文件的完整绝对路径时才加载属性。任何建议如何使用相对路径?

    Java日志记录不会搜索整个硬盘中的文件;有很简单的规则如何查找文件。你希望Java能够看到这两个文件是属于彼此的,但是你没有在任何地方说过。由于Java认为属性文件和类之间没有连接,除非它们位于磁盘上的相同文件夹中,所以它找不到该文件。

    -Djava.util.logging.config.file=log.properties

    仅适用于文件log.properties位于Java进程的当前目录中(可能非常随机)。所以你应该在这里使用绝对路径。

    另一种解决方案是将文件logging.properties移动到$JAVA_HOME/lib/(或编辑应该在那里的文件)。在这种情况下,您不需要设置系统属性。

    util logging不从类路径加载,它需要一个绝对路径,这就是为什么其他日志包如log4j更容易配置,并且更适合web应用程序,这对于获取abs路径是一件痛苦的事情。

    这在java.util.logging.LogManager doco中根本没有解释。

    展开全文
  • Java中动态代理主要有JDK和CGLIB两种方式。 区别主要是jdk是代理接口,而cglib是代理类。 优点:这种方式已经解决我们前面所有日记需要的问题。非常的灵活。而且可以方便的在后期进行维护和升级。 缺点:当然使用jdk...
  • JDK自带的日志Logging

    万次阅读 2016-02-22 16:36:19
    OK,现在我们来研究下JDK自带的日志Logger。 从jdk1.4起,JDK开始自带一套日志系统。JDK Logger最大的优点就是不需要任何类库的支持,只要有Java的运行环境就可以使用。 相对于其他的日志空间,JDK自带的日志可谓...
  • 简单建立数据库连接池及简单包装查询代码 使用JDK自带日志输出日志
  • 日志框架. 实现了动态的切换和log4j类似功能. 采用jdk1.4 log为底层实现. 下载后可以自己定制相关功能. 可以进一步完善.有兴趣可以加QQ:934547801一起讨论
  • Jdk动态代理 底层

    2021-01-20 03:10:25
    动态代理的应用范围很广,例如:日志、事务管理、缓存等。本文将模拟@Cacheable,即缓存在动态代理中的应用进行讲解。需要注意的是,Jdk动态代理相比起cglib动态代理,Jdk动态代理的对象必须实现接口,否则将报错。...
  • 当生产环境有很多服务器、很多业务模块的日志需要每时每刻查看时系统:centos6.5JDK:1.8Elasticsearch-5.0.0Logstash-5.0.0kibana-5.0.01、安装JDK下载JDK:...将安装包拷贝至安装服务器/usr/local目录[root@localhost...
  • Java——JDK内置日志

    千次阅读 2017-09-27 17:53:29
    import java.io.IOException; import java.util.logging.*;public class Tests { /** * --日志级别 * SEVERE (HIGHEST LEVEL) * WARNING * INFO * CONFIG * FINE * FI
  • JDK自带日志工具Logger的研究使用

    万次阅读 2016-10-11 00:53:20
    最近放假在家无聊,研究一个...点开源码看,才发现是JDK自带的日志类,非第三方开源Jar包,于是便起了好奇之心,想看看这个Logger与log4j和commons-logging有何不同,翻了翻Blog,使用研究一番,此处说下我的初步体验。
  • JDK Linux一键安装脚本

    2022-08-25 14:28:13
    JDK Linux一键安装脚本 Linux服务器,作者使用centos7操作系统,支持裸机安装JDK或者没有安装过JDK的用户安装JDK。...安装详情,可在日志文件`installJDK_log_${yyyy_mm_dd}.log`中找到。文件在脚本同级目录。
  • neo4j 及 它所需要的jdk安装日志

    千次阅读 2021-03-17 17:09:50
    环境:ubuntu16台式机需要避免的坑:①最好安装neo4j,因为neo4j(v3)安装后在bin中使用命令$sudo ./neo4j console时候会出error②要记住,(v4)对应jdk11,(v3)对应jdk8一、jdk11安装1、下载进入oracle(甲骨文)官网,...
  • JDK8 新特性学习.rar

    2020-01-19 16:31:28
    如果你不会JDK1.8的新特性,这部资料绝对物超所值,里面有JDK1.8新特性的入门文档,还有自己整理的性能对比等给同事学习分享笔记,看完学习稍微实践一下,就可以完成入门到上手了,纯干货,5分不贵哈。
  • JavaEE学习日志持续更新—-> 必看!JavaEE学习路线(文章总汇) JavaEE学习日志(七十八)LinuxLinux安装jdkLinux安装MySQLLinux安装tomcatLinux安装RedisLinux部署商城项目Linux数据库的中文乱码问题 Linux Linux...
  • Oracle12c JDeveloper 安装JAR包和1.8版本JDK 具体安装方法可以看我的博客
  • 2.网上的adt24.0.2版本对logcat日志有问题 3.里面已经包含com.android.ide.eclipse.adt_24.2.0.20160729.jar修复支持了jdk8编译环境 4.里面已经包含了build-tools\25.0.3的dx.jar修改后文件 参考链接: ...
  • -Xmx2g 最大堆大小设置为2G 物理内存的1/4() 空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制 -Xss256k 每个线程的堆栈大小设置为256k JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K....
  • 基于JDK8的JVM参数设置和GC日志解读

    千次阅读 2018-04-12 09:34:10
    一、在IDEA中设置程序的运行...-XX:SurvivorRatio=8参数含义分别是:打印GC日志最小堆内存最大堆内存堆中新生代内存新生代内存中Eden和Survivor大小之比,如果为8表示Eden占80%,另外两个Survivor各占10%二、运行...
  • JDK升级到1.8后现象有所有不同,可以看到年轻代最后是6M空间,老年代是4M空间,此现象由于更新了GC收集器 重头戏 2018 - 08 - 20 T18: 49 : 20.533 + 0800 : [GC (Allocation Failure) [PSYoungGen: 6423...
  • jdk-8u181-windows-x64.zip

    2019-07-22 11:04:05
    JDK 8u181 更新日志: 1、移除 Java DB(Apache Derby) 2、改进 LDAP 支持 3、更好的 stack walking 4、修复无法在 JDK 8 中使用 JDWP API 来调试 JDK>= 9 的问题 5、修复 JVM 在 G1 GC 期间崩溃的问题 6、引入较旧...
  • JDK8升级JDK11过程记录

    千次阅读 2021-02-28 19:13:38
    1、引言最新版本Java15都出来了,很多小伙伴还在使用Java8,当然JDK15不是长期支持版本,最新的长期支持版本是Java11,而下一个长期支持版本要等到2021年9月发布的Java17。最近把内部几个系统从Java8升级到了Java11...
  • 日志版本-log4j2版本jar

    2018-03-07 16:23:24
    log4j的升级版本,包含日志配置文件,要注意的是部分jar包的日志默认是log4j,需要在tomcat、jdk等其他中间件设置默认日志
  • Java的学习日志(一)——JDK与IDEA

    千次阅读 2020-02-01 15:00:11
    学习Java的初步工作何为JDK,以及JDK的下载与安装lntelliJ IDEA的下载与安装lntelliJ IDEA的快捷键如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 使用Jdk 提供的log记录日志

    千次阅读 2018-06-28 16:36:54
    import java.io.IOException;importjava.util.logging.FileHandler;import java.util.logging.Filter;importjava.util.logging.Formatter;importjava.util.logging.LogRecord;import java.util.logging.Logger;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 227,821
精华内容 91,128
热门标签
关键字:

jdk更新日志