![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 61
查理曼大帝
IBM 高级软件开发工程师, 十多年一线开发经验, 多年专注于企业级软件开发
展开
-
使用YAML配置Spring boot的外部属性
YAML是JSON的一个超集,可以非常方便地将外部配置以层次结构形式存储起来。由于在SpringBoot官方文档中,主要使用的是properties文件,而SpringCloud官网文档以及一些开源的项目中,大多数使用的是yml文件原创 2022-09-30 15:13:51 · 601 阅读 · 0 评论 -
Java调试的变迁:从System.out.println到log4j,到logback, 到slf4j(2)
首先介绍下logback的前世今生。slf4j由log4j作者Ceki开发,逐步取代apahce commons logging。logback由log4j作者Ceki开发,逐步取代log4j。slf4j等于commons-logging,是各种日志实现的通用入口,会根据classpath中存在下面哪一个Jar来决定具体的日志实现库。logback相比较log4j的优势slf4j支持参数化的log转载 2017-04-13 14:30:52 · 1720 阅读 · 0 评论 -
日志系统SLF4J 与log4J
现有日志体系分析这个异常出现的具体原因之前,有必要先快速了解一下现有的Java日志体系。下图是现有Java日志体系的一个示意:上图不是非常精准,但是能够比较清晰地展示现有Java日志体系的主体架构。Java日志体系大体可以分为三个部分:日志门面接口、桥接器、日志框架具体实现。Java日志框架有很多种,最简单的是Java自带的java.util.logging,而最经转载 2017-04-13 11:59:24 · 1927 阅读 · 1 评论 -
深入分析Volatile的实现原理
在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上Inter处理器是如何实现Volatile的,通过深入分析能帮助我们正确的使用Volatile变量。转载 2016-12-15 16:53:16 · 400 阅读 · 0 评论 -
Java Thread Interview Questions And Answers
In this post we will see some of the most asked Java Thread interview questions with answers.Q: What is a Thread?A thread is a class in java belongs to java.lang package. A thread is an lightwei转载 2015-05-05 21:38:29 · 890 阅读 · 0 评论 -
Java Collections Interview Questions
In this post we will see some of the most asked Java Collections related interview questions with answers.Q: What is the Collections API?The Collections API provides set of classes and interface转载 2015-05-05 21:34:59 · 626 阅读 · 0 评论 -
java中class.forName和classLoader加载类的区分
java中class.forName和classLoader都可用来对类进行加载。前者除了将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的static块。而classLoader只干一件事情,就是将.class文件加载到jvm中,不会执行static中的内容,只有在newInstance才会去执行static块。Class.forName(name, initialize原创 2014-01-07 20:37:27 · 1329 阅读 · 1 评论 -
服务提供者框架(Service Provider Framework)
在Effective Java ,2nd中,item1 对于Service Provider Framework 有一个大概的解释:服务提供者框架是指:多个服务提供者实现一个服务,系统为客户端提供多个实现,并把他们从多个实现中解耦出来。服务提供者的改变对它们的客户端是透明的,这样提供了更好的可扩展性。例如,JDBC,JMS等就试用了服务提供者框架。 服务提供者的组件:原创 2014-01-07 20:35:21 · 892 阅读 · 0 评论 -
Collections.EMPTY_LIST和Collections.emptyList()简单使用心得
1.背景在某些情况下,我们经常需要发挥一个空的集合对象,比如说在数据查询时,并不需要发挥一个NULL或是异常,那么就可以返回一个空的集合对象。JDK提供了两个方式来返回集合对象,那么两者有何区别呢?那就看代码吧!2.源码解析[Java] 纯文本查看 复制代码?1234567原创 2014-01-07 20:33:53 · 9772 阅读 · 0 评论 -
深入Java事务的原理与应用
一、什么是JAVA事务 通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性 (isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示 当事务执行失败时,所有被该事务影响原创 2014-01-07 20:40:21 · 783 阅读 · 0 评论 -
String, StringBuffer 和StringBuilder 执行时间上的比较
当遇到连续的字符串操作时,String str=str+"i", StringBuffer str=StringBuffer.append(i) 和StringBuilder str=StringBuilder.append(i) 有什么区别呢? 思考两秒钟。。。 用程序验证一下吧。 代码: package com.blueray.j原创 2013-09-13 00:41:30 · 1023 阅读 · 0 评论 -
资源关闭不当引发内存泄露的几个例子
对于资源的获取和关闭,如文件,JDBC,需要程序员手动关闭资源,如close,shutdown等。如果关闭资源不当,就会发生资源泄露。例子1: public static Properties loadPropertiesBadly(String fileName) throws IOException { FileInputStream s原创 2013-09-04 23:25:44 · 1685 阅读 · 0 评论 -
Java Socket 通过TCP交互 实例
Java Socket 编程,分为Socket 和ServerSocket两个类,其中Client 通过构造Socket 实例,向Server 端的ServerSocket发起请求。 ServerSocket 在接受到来自Client 的请求后,构建一个Socket,并将响应内容通过这个Socket实例返回。 Socket编程可以使用各种不同的传输层协议,本例以TCP协议为例,展示这个交互原创 2013-09-04 22:56:48 · 19037 阅读 · 4 评论 -
使用 JNDI 得到数据源
现在我们重新来看一下 Dolly 的情况。在其简单的 Web 应用程序中,她直接从应用程序代码中使用了一个 JDBC 连接。参见清单 1,我们可以看出,Dolly 显式地把 JDBC 驱动程序、数据库 URL 以及她的用户名和口令编码到了 servlet 中:典型(但是不好)的 JDBC 用法Connection conn=null;try { Class.forName("转载 2013-07-12 13:07:45 · 1203 阅读 · 0 评论 -
How to Use Java BigDecimal: A Tutorial
Contents [hide]1 The Problem2 Primer on Financial Issues3 Introducing BigDecimal4 Rounding and Scalin5 Immutability and Arithmetic6 Comparison7 When to Round: Thoughts on Precision8转载 2013-02-17 23:39:19 · 901 阅读 · 0 评论