Welcome 微信登录

首页 / 软件开发 / JAVA

JDK 1.8 AbstractQueuedSynchronizer的实现分析(上)

JDK 1.8 AbstractQueuedSynchronizer的实现分析(上)

JDK 1.8 AbstractQueuedSynchronizer的实现分析(上)2015-02-09 infoq 刘锟洋前言Java中的FutureTask作为可异步执行任务并可获取执行结果而被大家所熟知。通常可以使用future.get()来获取线程的执行结果,在线程执行结束之前,get方法会一直阻塞状态,直到call()返回,其优点是使用线程异步执行任务的情况下还可以获取到线程的执行结果,但是FutureTask的以上功能却是依靠通过一个叫Abst...
如何打造Linux三流娱乐环境、二流办公环境和一流Java开发环境

如何打造Linux三流娱乐环境、二流办公环境和一流Java开发环境

如何打造Linux三流娱乐环境、二流办公环境和一流Java开发环境2015-02-09写这篇文章的目的首先是为让自己以后再装linux环境时候,不用再通宵google+百度,做个备忘录,其次,给新入Linux环境的同学分享一点个人经验,再高尚点的动机也算是想做为开源技术的传播布道者。我在一开始,准备使用ubuntu,其实如果不是特别介意debian系和redhat系的区别完全可以装ubuntu,在通用Linux命令和Shell脚本而言,尤其是做Java开发...
Spring缓存概述

Spring缓存概述

Spring缓存概述2015-02-09Spring的Cache用于Java方法,减少方法的执行。在每一次一个target方法调用时,Spring就会根据方法、参数值来检查是否这个方法被执行过。如果之前执行过,就直接取得上次执行的结果。如果没有则执行,并缓存结果。Spring Cache只是一个抽象,没有相应的实现。它的实现使用了两种存储策略。1、JDK的java.util.concurrent.ConcurrentMap;2、Ehcache对于Sprin...
Spring MVC中实现分页

Spring MVC中实现分页

Spring MVC中实现分页2015-02-09Spring MVC中目前较常用的分页实现办法有两种:1.每次翻页都修改SQL,向SQL传入相关参数去数据库实时查出该页的数据并显示。2.查出数据库某张表的全部数据,再通过在业务逻辑里面进行处理去取得某些数据并显示。对于数据量并不大的简单的管理系统而言,第一种实现方法相对来说容易使用较少的代码实现分页这一功能,本文也正是为大家介绍这种方法:一、MyBatis数据表配置文件:<?xml version=...
CGLib代理引起的空指针异常问题

CGLib代理引起的空指针异常问题

CGLib代理引起的空指针异常问题2015-02-09一个同事将公司的开发框架基于最新的Spring、Tomcat、Java版本作了部分修改,拿来开发运行之后,发现一个奇怪的空指针异常。还原一下当时的场景,代码大概如下,所有的Servlet继承自BaseServlet。以DefaultServlet为例,当有DefaultServlet请求到达时,会映射到一个ServletProxy的servlet,然后再转发至DefaultServlet。在转发之前已经...
高密度Java应用部署的实践

高密度Java应用部署的实践

高密度Java应用部署的实践2015-02-09 infoq 李三红传统的Java应用部署模式,一般遵循“硬件->操作系统->JVM->Java应用”这种自底向上的部署结构,其中JEE应用可以细化为“硬件->操作系统->JVM->JEE容器->JEE应用”的部署结构。这种部署结构往往比较重,操作系统、JVM和JEE容器造成的overhead很高,而很多时候一个Java应用并不需要跑满整个硬件的资源,导致这种模...
AbstractQueuedSynchronizer的实现分析(下)

AbstractQueuedSynchronizer的实现分析(下)

AbstractQueuedSynchronizer的实现分析(下)2015-02-09 infoq 刘锟洋前言经过本系列的上半部分JDK1.8 AbstractQueuedSynchronizer的实现分析(上)的解读,相信很多读者已经对AbstractQueuedSynchronizer(下文简称AQS)的独占功能了然于胸,那么这次我们通过对另一个工具类:CountDownLatch的分析来解读AQS的另外一个功能:共享功能。AQS共享功能的实现在开始...
java的值传递、地址传递、引用传递

java的值传递、地址传递、引用传递

java的值传递、地址传递、引用传递2015-02-09一直来觉得对值传递和地址传递了解的很清楚,刚才在开源中国上看到一篇帖子介绍了java中的值传递和地址传递,看完后感受颇深。下边总结下以便更容易理解。按照以前的理解,java中基本数据类型是值传递,对象是地址(引用)传递。给大家看个例子:public class ObjectTrans {public static void main(String[] args) {String name = &quo...
逻辑 与 或 非的优先级

逻辑 与 或 非的优先级

逻辑 与 或 非的优先级2015-02-09刚才写一条hql语句,想起来之前上学那会老师的教诲:用到or的时候防止逻辑出错把需要or的条件用括号括起来。在写hql的时候就很注意,把需要or的条件括了起来,然后执行的时候看了下Hibernate执行的sql语句却没有括号,这会犯疑惑了,难道是Hibernate出问题了,通过一番求证,得出如下结论:并不是Hibernate出错了,而是自己基础太差了。下边就这个问题来分析下。给大家看两条语句1、select 1 ...
Hibernate的锁机制、悲观锁及乐观锁

Hibernate的锁机制、悲观锁及乐观锁

Hibernate的锁机制、悲观锁及乐观锁2015-02-09悲观锁它指的是对数据被外界修改持保守态度。假定任何时刻存取数据时,都可能有另一个客户也正在存取同一笔数据,为了保持数据被操作的一致性,于是对数据采取了数据库层次的锁定状态,依靠数据库提供的锁机制来实现。 基于jdbc实现的数据库加锁如下:select * from account where name="Erica" for update在更新的过程中,数据库处于加锁状态,任...
JAVA的数据权限设计

JAVA的数据权限设计

JAVA的数据权限设计2015-02-09 csdn博客 枫飘瞬间序言在各种系统中,要保证数据对象的安全性以及易操作性,使企业的各业务部门、职能部门能够方便而且高效的协同工作,那么一个好的数据权限管理设计就成为一个关键的问题。虽然企业中各个单元的工作流程有所不同,处理的数据对象也有所不同,但是在组织结构、信息的处理方式上具有很多相同的地方,这就为设计数据对象的权限控制提供了一个抽象基础。数据权限的控制不同于一般的功能权限的控制,一般的功能权限指的是某个用户...
java中的乱码

java中的乱码

java中的乱码2015-02-09做软件开发的同学不论是新手还是那些老鸟都经常会遇到各种各样的乱码问题,本文章就这些乱码问题做一个简单的分析,以帮助大家去理解、处理这些问题。下边分两种情况去分析这种问题。一、每种软件的默认编码方式不同1、记事本记事本是大家常用的软件,也许你会经常听别人说记事本是无编码的,可是你明白记事本为什么是没有编码的吗?其实是这样的,记事本确实是没有编码方式的,也就是说记事本你写进去什么内容它(记事本)就显示什么内容,这里需要注意的...
java创建线程的第三种方式Callable和Future CompletionService

java创建线程的第三种方式Callable和Future CompletionService

java创建线程的第三种方式Callable和Future CompletionService2016-04-02前面已经指出通过实现Runnable时,Thread类的作用就是将run()方法包装成线程执行体,那么是否可以直接把任意方法都包装成线程执行体呢?Java目前不行,但其模仿者C#中是可以的.Callabel接口可以看成是Runnable接口的增强版,只不过其线程执行体call()方法比run方法更加强大罢了:>>call()方法中可...
如何解决Netbeans装svn客户端“找不到subversion java绑定”错误

如何解决Netbeans装svn客户端“找不到subversion java绑定”错误

如何解决Netbeans装svn客户端“找不到subversion java绑定”错误2016-04-02今天重装了系统,然后重装安装netbeans后,想从服务器将之前有的项目签出来,当然,签出之前,肯定要先安装SVN客户端啦,谁知,在netbeans的“团队开发/签出/安装SVN客户端”操作后,竟然出现“找不到subversion java绑定”的错误,后来,在网上找了些资料来看,没有找到解决办法,不过看...
Java基础面试题(一)

Java基础面试题(一)

Java基础面试题(一)2016-08-28 csdn DERRANTCM【常见面试问题总结目录】1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。- 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中...
<< 291 292 293 294 295 296 297 298 299 300 >>