Wesley13 Wesley13
3年前
javaNIO编程
UnblockingIO(NewIO):同步非阻塞的编程方式NIO本身是基于事件驱动思想来完成的,其主要想解决的是BIO的大并发问题,NIO基于Reactor,当socket有流可读或可写入socket时,操作系统会相应的通知引用程序进行处理,应用再将流读取到缓冲区或写入操作系统。也就是说,这个时候,已经不是一个连接就要对应
Wesley13 Wesley13
3年前
40小时工作制:当我们谈论996时,我们在谈论什么
过度加班会让越来越多“高级机器人”就此诞生,创新难免成为凤毛麟角。长此以往,只会陷入一个个恶性循环。更多敏捷视频分享:https://www.zentao.net/page/college.html/?fromupkyzg(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.zen
Stella981 Stella981
3年前
ArrayList源码分析(JDK1.8)
概述ArrayList底层是基于 数组实现的,并且支持 动态扩容 的动态数组(变长的集合类)。ArrayList允许空值和重复的元素,当向ArrayList中添加元素数量大于其底层数组容量时,会通过 扩容机制 重新生成一个容量更大的数组。另外,由于ArrayList底层数据结构是数组,所以保证了在O(1)复杂度下完成随机查
Stella981 Stella981
3年前
Android开发在路上:少去踩坑,多走捷径【转】
作者:gzjay,腾讯MIG无线产品部高级工程师最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的,所以有了这个小分享。1.目前,AndroidAPP开发完成后,通常需要在哪些机型上进行测试?2.目前,开发AndroidAPP时,需要考虑的分辨率有哪些?这两个问题可以合
Wesley13 Wesley13
3年前
Java并发新构件之CounDownLatch
    CountDownLatch主要用于同步一个或多个任务,强制它们等待由其他任务执行的一组操作完成。    你可以向CountDownLatch对象设置一个初始计数值,任何在这个对象上调用await()的方法都将阻塞,直到这个计数值达到0。其他任务在结束其工作时,可以在该对象上调用countDown()来减小这个计数值,你可以通过调用get
Wesley13 Wesley13
3年前
Java构造器的实质作用
Java构造器的实质作用构造器的本质作用就是为对象初始化,即为实例变量初始化,赋初值;而不是创建对象,创建对象时通过new关键字来完成的,当使用new关键字时就会为该对象在堆内存中开辟一块内存,只等构造器来初始化这块内存,为实例变量赋初始值。在未赋初始值之前是默认值。看代码中的构造器和编译后构造器是不一样的,编译后的构造器包含了更多的内容。
用写代码的方式画图-试下PlantUML吧 | 京东云技术团队
所谓一图胜千言,大家平日在工作中编写文档时,往往都需要画各种图来表达中心思想,在此为大家推荐一个专注于“画图”本身的工具PlantUML,通过写代码的方式完成满足各种需求场景的画图工作,将人的精力集中到思想的表达与传递,避免无谓的图形页面样式修改调整,进而提升工作效率。
云电脑Win7系统安装报错详解:问题与解决方案
随着云计算技术的快速发展,越来越多的人开始使用云电脑。然而,在为云电脑安装Win7系统时,一些用户可能会遇到各种安装错误。本文将详细介绍在云电脑Win7系统安装过程中可能出现的报错,分析其产生原因,并提供相应的解决方案,帮助您顺利完成系统安装。
浅谈从浏览器输入URL到页面渲染的流程
浏览器输入URL到页面渲染完成,这个过程大致可分为两个阶段:网络通信和页面渲染。一、网络通信互联网内各网络间设备的通信遵循TCP/IP协议,利用TCP/IP协议进行网络通信时,会通过分层与对方通信。数据传输的过程:由应用层产生数据后,经过传输层的分段处理(