腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
dylanliu
专栏成员
举报
121
文章
120728
阅读量
25
订阅数
订阅专栏
申请加入专栏
全部文章(121)
编程算法(34)
java(30)
spring(14)
linux(8)
面向对象编程(7)
api(6)
python(5)
javascript(5)
sql(5)
node.js(4)
xml(4)
数据库(4)
http(4)
网络安全(4)
html(3)
mvc(3)
ide(3)
maven(3)
腾讯云测试服务(3)
正则表达式(3)
安全(3)
其他(2)
c++(2)
php(2)
go(2)
bash(2)
scala(2)
github(2)
bash 指令(2)
文件存储(2)
日志服务(2)
网站(2)
shell(2)
jdk(2)
spring boot(2)
jdbc(2)
windows(2)
数据结构(2)
haskell(2)
factory(2)
function(2)
product(2)
set(2)
费用中心(1)
官方文档(1)
perl(1)
jsp(1)
css(1)
json(1)
android(1)
汇编语言(1)
硬件开发(1)
云数据库 SQL Server(1)
云数据库 Redis(1)
postgresql(1)
ruby on rails(1)
打包(1)
git(1)
svn(1)
jar(1)
tomcat(1)
unix(1)
centos(1)
命令行工具(1)
数据加密服务(1)
DevOps 解决方案(1)
xslt & xpath(1)
容器(1)
存储(1)
开源(1)
分布式(1)
自动化(1)
ssh(1)
yum(1)
aop(1)
单元测试(1)
敏捷开发(1)
架构设计(1)
云数据库 postgresql(1)
mqtt(1)
虚拟化(1)
abstract(1)
action(1)
agent(1)
app(1)
build(1)
builder(1)
combinations(1)
components(1)
constraints(1)
cpu(1)
data(1)
element(1)
integer(1)
jmx(1)
key(1)
map(1)
medium(1)
notifications(1)
object(1)
output(1)
parentheses(1)
return(1)
server(1)
sort(1)
static(1)
tcp(1)
var(1)
window(1)
产品(1)
加密(1)
浏览器(1)
排序(1)
设计模式(1)
图表(1)
搜索文章
搜索
搜索
关闭
概要设计的艺术
java
agent
components
constraints
图表
由码代码到软件设计,所需要的思维方法发生了变化,某些在码代码时占比比较小的思维方法在软件设计中变得至关重要。
Dylan Liu
2020-11-23
591
0
还在用 SimpleDateFormat, 来试试 DateTimeFormatter
python
java
安全
1.8 以前 Java 关于日期的类是 Date 与 Calendar, 与之对应的格式化的类是 SimpleDateFormat。 上一篇介绍了在1.8 中提供的 java.time 包, Java 提供了更加丰富的时间类型来供我们使用,与之对应的格式化类型也需要使用新提供的 DateTimeFormatter。
Dylan Liu
2020-11-23
1.4K
0
还在用 SimpleDateFormat, 来试试 DateTimeFormatter
java
1.8 以前 Java 关于日期的类是 Date 与 Calendar, 与之对应的格式化的类是 SimpleDateFormat。 上一篇介绍了在1.8 中提供的 java.time 包, Java 提供了更加丰富的时间类型来供我们使用,与之对应的格式化类型也需要使用新提供的 DateTimeFormatter。
Dylan Liu
2020-11-17
873
0
设计模式之观察者模式
java
观察者模式(Observer Pattern)隶属于设计模式中的行为型模式。通过发布事件来将状态变化与处理逻辑解耦开来,可以拥有更好的可扩展性和可维护性。
Dylan Liu
2019-09-12
521
0
设计模式之模板方法模式
java
编程算法
模板方法模式(Template Method Pattern)隶属于设计模式中的行为型模式,与策略模式一样,是在平常编码过程最常用的模式之一,理念也很简单明确:老大制定流程,具体执行由小弟接手。
Dylan Liu
2019-08-23
454
0
设计模式之生成器模式
java
build
builder
product
set
生成器模式(Builder Pattern)隶属与设计模式中的创建者模式,主要目的是对复杂对象的构建步骤进行拆解。
Dylan Liu
2019-08-14
717
0
MQTT 大消息失败原因排查
mqtt
linux
安全
java
小组内使用 MQTT 协议搭建了一个聊天服务器,前天在测大消息(超过5000汉字)时,连接直接变得不可用,后续发送的消息全部都收不到回复。
Dylan Liu
2019-07-26
3.3K
0
设计模式之单例模式
文件存储
java
spring
编程算法
单例模式(Singleton Pattern)限制系统中某一个类只能有一个唯一的实例。很多时候系统对类的需求就只是一个全局对象,有些资源比较重,加载创建耗时,适用于单例模式;有些资源代表的是纯函数的操作,虽然可以使用new 来创建新对象,使用单例模式可以减少对象创建消耗,在手机等资源少的地方推荐使用。
Dylan Liu
2019-07-23
337
0
asm 笔记
汇编语言
java
#####overall structure of a compiled class
Dylan Liu
2019-07-01
700
0
java中断机制zz
c++
java
一般的代码中,尤其是作为一个基础类库时,绝不应当吞掉中断,即捕获到InterruptedException后在catch里什么也不做,清除中断状态后又不重设中断状态也不抛出InterruptedException等。因为吞掉中断状态会导致方法调用栈的上层得不到这些信息。 当然,凡事总有例外的时候,当你完全清楚自己的方法会被谁调用,而调用者也不会因为中断被吞掉了而遇到麻烦,就可以这么做。 总得来说,就是要让方法调用栈的上层获知中断的发生。假设你写了一个类库,类库里有个方法amethod,在amethod中检测并清除了中断状态,而没有抛出InterruptedException,作为amethod的用户来说,他并不知道里面的细节,如果用户在调用amethod后也要使用中断来做些事情,那么在调用amethod之后他将永远也检测不到中断了,因为中断信息已经被amethod清除掉了。如果作为用户,遇到这样有问题的类库,又不能修改代码,那该怎么处理?只好在自己的类里设置一个自己的中断状态,在调用interrupt方法的时候,同时设置该状态,这实在是无路可走时才使用的方法。 2、 中断的响应 程序里发现中断后该怎么响应?这就得视实际情况而定了。有些程序可能一检测到中断就立马将线程终止,有些可能是退出当前执行的任务,继续执行下一个任务……作为一种协作机制,这要与中断方协商好,当调用interrupt会发生些什么都是事先知道的,如做一些事务回滚操作,一些清理工作,一些补偿操作等。若不确定调用某个线程的interrupt后该线程会做出什么样的响应,那就不应当中断该线程。 4. Thread.interrupt VS Thread.stop Thread.stop方法已经不推荐使用了。而在某些方面Thread.stop与中断机制有着相似之处。如当线程在等待内置锁或IO时,stop跟interrupt一样,不会中止这些操作;当catch住stop导致的异常时,程序也可以继续执行,虽然stop本意是要停止线程,这么做会让程序行为变得更加混乱。 那么它们的区别在哪里?最重要的就是中断需要程序自己去检测然后做相应的处理,而Thread.stop会直接在代码执行过程中抛出ThreadDeath错误,这是一个java.lang.Error的子类。 在继续之前,先来看个小例子: 01 package com.ticmy.interrupt; 02 import java.util.Arrays; 03 import java.util.Random; 04 import java.util.concurrent.TimeUnit; 05 public class TestStop { 06 private static final int[] array = new int[80000]; 07 private static final Thread t = new Thread() { 08 public void run() { 09 try { 10 System.out.println(sort(array)); 11 } catch (Error err) { 12 err.printStackTrace(); 13 } 14 System.out.println("in thread t"); 15 } 16 }; 17 18 static { 19 Random random = new Random(); 20 for(int i = 0; i < array.length; i++) { 21 array[i] = random.nextInt(i + 1); 22 } 23 } 24 25 private static int sort(int[] array) { 26 for (int i = 0; i < array.length-1; i++){ 27 for(int j = 0 ;j < a
Dylan Liu
2019-07-01
685
0
对Java Stack的一次探索
java
网络安全
linux
编程算法
昨天发现线上有一些业务逻辑没有执行到,但是代码入口代码日志已经打印,深入下去一看,底层库里有一个事件执行的方法在每次执行时都会 new 一个 thread,在以往量不大时没有问题,量大时就可能导致线程创建不出来,报OOM错误(由于有同事在我看这个时重启了服务导致 gc 日志被清空和栈信息丢失,这个原因只是一个猜测)。
Dylan Liu
2019-07-01
1.5K
0
284. Peeking Iterator
java
Given an Iterator class interface with methods: next() and hasNext(), design and implement a PeekingIterator that support the peek() operation -- it essentially peek() at the element that will be returned by the next call to next().
Dylan Liu
2019-07-01
416
0
Visitor Pattern
java
编程算法
设计模式是对设计原则的具体实践,在编码过程中我们要牢记设计原则,根据当前需求灵活选用我们要使用的设计模式。Visitor Pattern 是一个不常用的模式,在我看来,visitor pattern 也算是面向对象里的一种奇技淫巧了。
Dylan Liu
2019-07-01
675
0
关于在Spring 中方法内部调用自身方法事务 REQUIRE_NEW 不生效的解释
spring
java
网络安全
这个是Spring 对拦截的实现有关。Spring 拦截实现的方法是动态生成一个代理类。正常使用 @Autowired 注解注入的实际上就是这个代理类。
Dylan Liu
2019-07-01
1.4K
0
不要使用 YYYY ,使用 yyyy 来获取年份
其他
java
使用format 出来的日期的正确的,不要欢喜的太早,parse 给出的结果就完全让人摸不着头脑。
Dylan Liu
2019-07-01
1.1K
0
403. Frog Jump
java
A frog is crossing a river. The river is divided into x units and at each unit there may or may not exist a stone. The frog can jump on a stone, but it must not jump into the water.
Dylan Liu
2019-07-01
602
0
Flame Graph 火焰图分析 Java 性能
bash
bash 指令
java
github
linux
火焰图是分析应用性能问题很好的工具,只是网上的文章都是讲述分析 C, C++ 等语言的,对Java 语言描述甚少,此处记录一下自己使用火焰图分析Java 栈的过程。
Dylan Liu
2019-07-01
1.8K
0
Java示例演示Functor 和monad
java
This article was initially an appendix in our Reactive Programming with RxJavabook. However introduction to monads, albeit very much related to reactive programming, didn't suit very well. So I decided to take it out and publish separately as a blog post.
Dylan Liu
2019-07-01
602
0
Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' has value '1.8', but '1.7'
java
windows
jdk
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' has value '1.8', but '1.7' is required. Error: could not find java.dll
Dylan Liu
2019-07-01
2K
0
API 与 SPI
api
java
API 是 应用编程接口(Application Programing Interface) , 是为调用方提供服务或函数的一种方法。 SPI 是 服务提供接口(Service Provider Interface), 是为第三方扩展功能的一种方法。
Dylan Liu
2019-07-01
1.5K
0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档