天翼云软件开发,知识文档技术编程知识文档是天翼云为开发者提供的互联网技术内容分享平台。内容涵盖软件开发相关内容资讯。开发者在软件开发专栏是可以快速获取到自己感兴趣的技术内容,与其他开发者们学习交流,共同成长。
原文链接 作者: Jakob Jenkov 译者: 林威建。Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即
作者:绫萱volatile常常用于修饰多线程共享变量,用来保证该变量的可见性。volatile的语意:某个写线程对volatile变量的写入马上可以被后续的某个读线程“看”到。 volatile保证可见性的原理:volatile是通过在编译
原文链接 译者:章筱虎Path接口是java NIO2的一部分。首次在java 7中引入。Path接口在java.nio.file包下,所以全称是java.nio.file.Path。 java中的Path表示文件系统的路径。可以指向文件
原文链接 译者:carvendy构建Maven为什么我想构建Maven?构建有两个原因,其中一个是Maven的原因:为了尝试一些边缘特性或修正(版本可以在JRIA中找到)。为了你已经修复一个问题和提交分支到开发者团队。注意,你不需要
几天前,我偶然地将之前写的用来测试AtomicInteger和synchronized的自增性能的代码跑了一下,意外地发现AtomicInteger的性能比synchronized更好了,经过一番原因查找,有了如下发现:在jdk1.7中,A
作者: Jakob Jenkov 译者: 李璟。System.in, System.out, System.err这3个流同样是常见的数据来源和数据流目的地。使用最多的可能是在控制台
原文链接 作者:Jakob Jenkov 译者:祖强为了高效的使用和理解Java集合Api,对集合中包含的接口有一个概览是很有用的。所以,我将在这里提供这些。接口有两个“组”,Collection‘s和Map‘s。下面的图表是Collec
原文地址 译文地址 译者:jackWangGroovy语言一直在努力亲近Java开发人员。在设计Groovy语言的时候,我们遵循最小标新立异原则,努力让那些Java开发背景的开发者容易上手并学会。下面我们列举Groovy和Java
作者:魏鹏 本文是《Java并发编程的艺术》的样章1. 前言在Java并发包中常用的锁(如:ReentrantLock),基本上都是排他锁,这些锁在同一时刻只允许一个线程进行访问,而读写锁在同一时刻可以允许多个读线程访问,但是在写线程访问
原文链接 译者:祝坤荣在找教程? 访问这里。 有问题? 在StackOverflow.com提问。 请注意这个指南不是一个“用户指南”。这是给想要开发Netty的贡献者(“开发人员”)看的而不是给想要用Netty构建一个应用的“用户”看的。
原文链接跨域资源共享 (CORS)是一个被绝大部分浏览器实现的W3C标准,CORS允许你灵活的指定跨域请求是否授权。而不是使用一些不安全脆弱的方法,例如IFRAME或者JSONP。在4.2版本中,SpringMVC默认不开启CORS功能 。
原文链接 译者:裘卡如果你正在开发低延迟的网络应用,那应该对线程亲和性(Thread affinity)有所了解。线程亲和性能够强制使你的应用线程运行在特定的一个或多个cpu上。通过这种方式,可以消除操作系统进行调度过程导致线程迁移所造成的
原文链接 译者:lijunshuNetty有一个模块叫’netty-microbench’,我们可以用他来执行一系列的微型基准测试。Netty-microbench是基于OpenJDK JMH构件的(HotSpot的推荐基准测试方案)。当
开发者开始使用OSGI。通过重用组件的方式来构建和管理你的高度复杂的系统;OSGI使我们的代码更加容易编写、测试和重用,使管理动态部署和检测错误更容易;远程部署;检测和解决你可能不能立马察觉到的问题;如果你正在使用Java开发软件,那么OS
Redis是一个缓存,消息中间件及具有丰富特性的键值存储系统。Spring Boot为Jedis客户端库和由Spring Data Redis提供的基于Jedis客户端的抽象提供自动配置。spring-boot-starter-redis‘
Log4j不仅能通过XML配置,也能通过JSON配置。如你所知,JSON的格式非常类似于紧凑版XML。每个键代表了插件名称,对应的值是属性。键中可以有子级插件。如下,“ThresholdFilter, Console, PatternLay
我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题:缓存穿透缓存并发缓存失效一、缓存穿透 注:上面三个图会有什么问题呢?我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果
2023-04-18 14:15:05
2023-04-18 14:14:13
2023-04-19 09:23:13
2023-04-27 08:00:00
2023-04-18 14:15:05
2023-03-16 07:49:58