一杯甜酒

用勇气改变可以改变的事情,用胸怀接受不可以改变的事情,然后用智慧分辨两者的不同!...

排序:
默认
按更新时间
按访问量
RSS订阅

Java基础学习总结(147)——Java常用分布式锁技术方案

前言 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。所以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。希望这篇文章可以方便自己以后查阅,同时要是能帮助到他人那也是很好的。 一、业务场景 ...

2019-06-19 15:41:17

阅读数 142

评论数 0

Java基础学习总结(146)——开发人员日志实践规范

一、日志规范 日志作用: 1、日常排查问题(基本作用),快速定位问题的根源 2、分析日志,构建常见问题排查平台 3、报表输出(日活、周活) 4、追踪程序执行的过程,追踪数据的变化: a)在系统启动或初始化时记录重要的系统初始化参数; b)记录系统运行过程中的所有的错误; ...

2019-06-17 15:58:43

阅读数 1586

评论数 0

Java基础学习总结(145)——Java SPI(Service Provider Interface)简介

SPI 简介 SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。一个服务(Service)通常指的是已知的接口或者抽象类,服务提供方就是对这个接口或者抽象类的实现,然后按照SPI 标准存放到资源路径META-INF/services目...

2019-05-08 11:20:11

阅读数 152

评论数 0

Java基础学习总结(144)——String类为什么要被定义为不可变类

分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 问题:String类为什么要被定义为不可变类 String类被定义为final的主要是从两个方面来考虑:安全和性能,也就是说,String被设计成final的,即考虑到了安全性,...

2019-05-06 19:05:53

阅读数 115

评论数 0

Java基础学习总结(143)——SimpleDateFormat线程安全问题重现、原因分析及解决方案

分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 一、SimpleDateFormat作用: 进行时间的格式化输出和解析(注意:SimpleDateFormat并不是一个线程安全的类。在多线程情况下,会出现异常!)。《阿里巴巴开...

2019-03-24 16:24:01

阅读数 185

评论数 0

Java基础学习总结(142)——以正确的姿势使用Java 8 Optional

分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 Java 8 增加Optional. 来优雅的解决 NullPointException 的问题, Optional实际上是个容器:它可以保存类型T的值,或者仅仅保存null。O...

2019-02-22 19:19:35

阅读数 431

评论数 0

Java基础学习总结(141)——Cron 表达式使用再总结

概述:Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:   (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year   (2)Seconds Minutes Ho...

2019-01-22 10:01:35

阅读数 105

评论数 0

Java基础学习总结(140)——Java8 Stream之Stream流创建的几种方式

package com.zhy.demo.javase.stream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors;...

2019-01-11 18:03:11

阅读数 143

评论数 0

Java基础学习总结(139)——Java8 Stream之Stream接口入门简介

我们很多同学都知道,我们Java8中新增了很多有用的新功能,如Stream流、Lambda表达式等。今天在这里对Java8 的Stream的使用做个梳理和总结。Java语言中集合是使用最多的API,几乎每个Java程序都会用到集合操作, 这里的Stream和IO中的Stream不同,它提供了对集合...

2019-01-11 13:32:33

阅读数 125

评论数 0

Java基础学习总结(138)——Java API 设计规范整理

1. 包设计清单 1.1. 共通 ▲1.1.1. 建议把API和实现放入不同的包 ▲1.1.2. 建议把API放进上层包,而把实现放进下层包 ▲1.1.3. strong>考虑把一组大型的API分拆进不同的包 ▲1.1.4. 考虑把API和实现打包进不同的jar包 ...

2018-12-20 19:59:51

阅读数 356

评论数 0

Java基础学习总结(137)——Java ClassLoader再总结

一、ClassLoader 作用 ClassLoader 是用来加载 Class 的。它负责将 Class 的字节码形式转换成内存形式的 Class 对象。字节码可以来自于磁盘文件 *.class,也可以是 jar 包里的 *.class,也可以来自远程服务器提供的字节流,字节码的本质就是一个字...

2018-12-05 14:46:21

阅读数 302

评论数 0

Java基础学习总结(136)——有关流资源关闭(try-with-resources与AutoCloseable)的使用总结

前言 做Java开发的都知道,每个资源的打开都需要对应的关闭操作,不然就会使资源一直占用而造成资源浪费,从而降低系统性能。关于资源的关闭操作,从JDK7-JDK9有了不少的提升及简化。我们来看看资源处理的变化。 一、JDK6 在JDK6及之前,每个资源都需要我们手动写代码关闭,如: Fi...

2018-10-17 15:05:50

阅读数 687

评论数 0

Java基础学习总结(135)——Java代码性能优化实践经验再总结

前言 代码优化的最重要的作用应该是:避免未知的错误。在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。然而为了解决这个错误,我们需要先自验证、再打包出待替换的class文件、暂停业务并重启,对于一个成熟的项目而言,...

2018-10-17 14:49:22

阅读数 569

评论数 0

Java基础学习总结(134)——JDK 11 是否值得更新的思考

一、JDK 11 主要特性 最新发布的 JDK 11 共带来了 17 项更新: 181:Nest-Based Access Control(基于嵌套的访问控制) 309:Dynamic Class-File Constants(动态类文件常量) 315: Improve Aarch64 I...

2018-09-27 09:54:39

阅读数 4344

评论数 0

Java基础学习总结(133)——项目实践中最常用工具类总结

1. org.apache.commons.io.IOUtils closeQuietly ( ) toString ( ) copy ( ) toByteArray ( ) write ( ) toInputStream ( ) readLines ( ) copyLarge (...

2018-09-12 17:08:23

阅读数 6523

评论数 0

Java基础学习总结(132)——Java8 Stream流操作学习总结

传统的数据处理都是用循环来解决,而不是像搜索数据库那样有具体的搜索语句,而Java8的Stream提供了很好的方案,往往一行就搞定了,而且Stream还可以链式操作,一行代码实现多个循环的功能,代码风格十分像nosql数据库,但是在实际应用中发现一个巨大的问题,就是执行耗时特别长,时间开销是传统方...

2018-08-17 13:13:38

阅读数 5974

评论数 0

Java基础学习总结(131)——项目开发中真的有必要使用Lombok插件么?

一、Lombok是什么 Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。简而言之,一句话就是:通过简单的注解来精简代码达到消除冗长代码的目的。Lombok提供注解方式来提高代码的简洁性,...

2018-08-11 09:46:26

阅读数 8023

评论数 4

Java基础学习总结(130)——使用WebSocket导致jUnit单元测试报No suitable default RequestUpgradeStrategy found错误的解决方法

若在SpringMVC项目中使用了WebSocket,在运行jUnit单元测试时,可能会报如下错误: Caused by: java.lang.IllegalStateException: No suitable default RequestUpgradeStrategy found 若...

2018-08-05 21:53:34

阅读数 5404

评论数 1

Java基础学习总结(129)——Arrays.asList得到的List进行add和remove等操作出现异常解析

将一个Array的对象转化为List。常常使用Arrays.asList()这个方法,如下单元测试案例: @Test public void testArraysAsList() { List<Integer> list = Ar...

2018-07-27 18:15:14

阅读数 2781

评论数 0

Java基础学习总结(128)——List去重3种方式及性能比较

package com.zhy.common.util;import static org.hamcrest.CoreMatchers.hasItems;import static org.junit.Assert.assertThat;import java.util.ArrayList;imp...

2018-06-29 22:24:41

阅读数 3323

评论数 0

提示
确定要删除当前文章?
取消 删除