首页
学习
活动
专区
工具
TVP
发布

WindCoder

所有文章首发于https://windcoder.com/,文章均自动同步于此。
专栏作者
417
文章
790706
阅读量
38
订阅数
大文件分片上传Java版简单实现
该实例是一个串行上传分片数据的实例,一个文件仅在数据库中保存了一条记录,每次上传一个分片时更新一次该记录,直到该文件到所有分片上传完成。
WindCoder
2020-06-28
8.3K3
单例模式(下)
在上篇 《单例模式(上)》一文中介绍了单例定义、使用场景、实现方式以及不足,本篇继续整理针对不足的解决方案以及唯一性的相关讨论与实现等。
WindCoder
2020-04-28
9280
单例模式(上)
一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式(Singleton Design Pattern)。
WindCoder
2020-04-28
3890
面向对象四大特性
需要编程语言提供权限访问控制语法来支持,比如Java中的private、protected、public关键字。
WindCoder
2020-04-17
6790
Java漫谈-String下
上篇介绍了一些String的基础与简单的创建方式,本篇引入它的intern()方法。
WindCoder
2020-02-10
4950
HashMap探索01-源码注解翻译
当时好奇HashMap与ConcurrentHashMap,在网上找资料时发现基本都是相关的源码分析,想自己看看JDK里面具体有些什么,于是有了这个系列,信马由缰,走到哪里写到哪里吧。本系列在未注明的情况下均基于JDK8。本篇主要是HashMap类开篇的注释翻译。
WindCoder
2020-02-10
5680
并发学习笔记07-volatile的内存语义
对volatile变量的单个读/写,可看成是使用同一个锁对这些单个读/写操作做了同步。如示例:
WindCoder
2020-01-26
3440
java漫谈-Java只有值传递
文中用遥控器(引用)操作电视(对象)为例形象的说明了该引用名词的含义,同时在对定义的“引用”该名词的注释中提到:
WindCoder
2020-01-24
6180
并发学习笔记08-锁的内存语义
线程A释放一个锁,实质上是线程A向接下来将要获取这个锁的某个线程发出了(线程A对共享变量所做修改的)消息。
WindCoder
2020-01-22
4920
并发学习笔记15-队列同步器
队列同步器AbstractQueuedSynchronizer(AQS)是用来构建锁或者其他同步组件的基础框架。该类也是其他许多同步类的基类,许多同步器通过AQS很容易构造出来(如,ReentrantLock、Semaphore、CountDownLatch、ReentrantReadWriteLock等,Java6以前的版本还包含SynchronousQueue和FutureTask)。
WindCoder
2020-01-22
3860
并发学习笔记14-Lock接口
Java SE5之前,在协调对共享对象的访问时可用的机制只有synchronized和volatile。Java 5.0之后,并发包中新增了Lock接口及其相关实现类。
WindCoder
2020-01-22
3650
并发学习笔记13-线程基础(下)
Volatile可以修饰字段(成员变量),就是告知程序任何对该变量的访问均需从共享内存中获取,而对它的改变必须同步刷新回共享内存,它能保证所有线程对变量访问的可见性。但是过多的使用volatile是不必要的,因为会降低程序执行的效率。
WindCoder
2020-01-22
3810
并发学习笔记12-线程基础(上)
现代操作系统调度的最小单元是线程,也叫轻量级进程(Light Weight Process)。
WindCoder
2020-01-22
3980
并发学习笔记11-双重检查锁定与延迟初始化
关于双重检测锁定,了解过单例的应该不陌生,但也容易写错。这里以单例模式为例一起探索。
WindCoder
2020-01-22
8610
数据结构01-数组
数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。
WindCoder
2020-01-22
6860
springBoot生成SQL文件-总结
本篇对之前的做个小结,整体的对比下几种方案使用时的优缺点,至于使用哪种方案,只能看实际情况了。
WindCoder
2020-01-22
1.1K0
springBoot生成SQL文件-Hibernate5的SchemaUpdate实现
之前两篇介绍了使用Hibernate生成SQL全量脚本文件的方式,若需要生成增量脚本进行版本维护呢?想到的对于生成增量脚本的方案可归为:
WindCoder
2020-01-22
8910
并发学习笔记09-final域的内存语义
final域,编译器和处理器要遵守两个重排序规则: - 在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。 - 初次读一个包含final域的引用,与随后初次读这个final域,这两个操作之间不能重排序。
WindCoder
2020-01-22
3120
springBoot生成SQL文件-基于Liquibase实现
之前的文章介绍的都是用的jpa或者Hibernate内部方法实现的,本文引入一个第三方数据库管理工具Liquibase,说到数据库版本管理软件还有Flyway,但其社区版无论是功能还是用法均简单至极,完全无法和Liquibase相比。
WindCoder
2020-01-22
2.7K0
并发学习笔记10-happens-before
JMM把happens-before要求禁止的重排序分为下面两类: - 会改变程序执行结果的重排序; - 不会改变程序执行结果的重排序。
WindCoder
2020-01-22
2760
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档