java
程序人生dc
编程时要保持这种心态:就好象将来要维护你这些代码的人是一位残暴的精神病患者,而且他知道你住在哪。
展开
-
JAVA内存模型概述
为什么要有内存模型在介绍Java内存模型之前,先来看一下到底什么是计算机内存模型,然后再来看Java内存模型在计算机内存模型的基础上做了哪些事情。要说计算机的内存模型,就要说一下一段古老的历史,看一下为什么要有内存模型。内存模型,英文名Memory Model,他是一个很老的老古董了。他是与计算机硬件有关的一个概念。那么我先给你介绍下他和硬件到底有啥关系。CPU和缓存一致性我们应该...原创 2019-05-01 12:11:11 · 145 阅读 · 0 评论 -
并发编程的锁机制:synchronized和lock
1. 锁的种类锁的种类挺多,包括:自旋锁、自旋锁的其他种类、阻塞锁、可重入锁、读写锁、互斥锁、悲观锁、乐观锁、公平锁、可重入锁等等,其余就不列出了。我们这边重点看如下几种:可重入锁、读写锁、可中断锁、公平锁。1.1 可重入锁如果锁具备可重入性,则称作为可重入锁。synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制:基于线程的分配,而...转载 2019-05-05 14:52:39 · 259 阅读 · 0 评论 -
Java BigDecimal详解
1.引言 float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。先看下面代码 public static void main(Str...原创 2018-11-02 14:13:25 · 180 阅读 · 0 评论 -
熟悉synchronized锁机制
由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。需要明确的几个问题:synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。如果 再细的分类,synchronized可作用于instance变量、object ...原创 2018-10-24 20:43:14 · 190 阅读 · 0 评论 -
oss上传文件阿里云(Java与js版本)
阿里云后台管理、API 集成教程、Key/ 域名的查询1、查看上传的文件在哪?a 、百度阿里云,进入官网。然后进入管理控制台b、左侧菜单栏,进入对象存储 OSS c、进入 Bucket 管理页面,点击创建的bucket 名称d、进入bucket 管理界面,点击左侧菜单bucket属性 菜单查看bucket 域名object 管理 查看管理上传的文件图片处理 查看图片域名地址2、查看acces...原创 2018-03-01 13:11:18 · 18985 阅读 · 3 评论 -
深入理解Spring IOC,实现简单IOC容器
深入理解Spring--动手实现一个简单的SpringIOC容器 主要思想: 提到IOC,第一反应就是控制反转,我以前以为SpringIOC就是控制反转,控制反转就是SpringIOC,当然这种理解是错误的,控制反转是一种思想,一种模式,而Spring的IOC容器是实现了这种思想这种模式的一个载体. 使用过Spring的人都熟知,SpringIOC容器可以在对象生成或初始原创 2017-12-22 16:18:23 · 266 阅读 · 0 评论 -
自定义异常以及异常使用误区
一、自定义异常 Java确实给我们提供了非常多的异常,但是异常体系是不可能预见所有的希望加以报告的错误,所以Java允许我们自定义异常来表现程序中可能会遇到的特定问题,总之就是一句话:我们不必拘泥于Java中已有的异常类型。 Java自定义异常的使用要经历如下四个步骤: 1、定义一个类继承Throwable或其子类。 2、添加构造方法(当然也原创 2017-10-08 10:36:53 · 601 阅读 · 0 评论 -
Java集合Iterator迭代
迭代其实我们可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类,它是一个很典型的设计模式。Iterator模式是用于遍历集合类的标准访问方法。它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构。 在没有迭代器时我们都是这么进行处理的。如下: 对于数组我们是使用下标来进行处理的:[java] int[] a原创 2017-10-08 10:04:30 · 265 阅读 · 0 评论 -
java接口的作用
很多JAVA初级程序员对于接口存在的意义很疑惑。不知道接口到底是有什么作用,为什么要定义接口。 好像定义接口是提前做了个多余的工作。下面我给大家总结了4点关于JAVA中接口存在的意义: 1、重要性:在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。 2、简单、转载 2017-07-17 14:40:07 · 731 阅读 · 0 评论 -
java实现前后端交互导出excel
第一步、前端获取参数并且通过form表单或者URL方式访问后台//定义params对象接收键值对参数var params = { isChecked: 1, startTime: "2017-03-05", endTime: "2017-03-08", status: 1, arbType: 2423, claimsStatus: 3412原创 2017-05-06 17:18:02 · 13686 阅读 · 3 评论 -
接口入参校验注解详解
在接口开发中,经常是需要对传入参数完整性进行验证的,或者对手机号格式进行验证等,而一般不了解@Valid注解之前,都是通过自己封装方法来验证,都是一堆if else集合,这样判断对于代码结构很不友好,开发效率也不高,使用@Valid注解可以快速的对参数进行验证,并且可以通过抓取全局异常,从而实现统一返回引用@Valid是使用hibernate validation的时候使用,其中java的...原创 2019-07-15 15:04:57 · 9979 阅读 · 0 评论