![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础相关
随记工作及学习过程中遇到的Java基础、多线程等经典知识,以方便查阅!
冰诺莫语
这个作者很懒,什么都没留下…
展开
-
Java 8新的时间日期库的20个使用示例
译文出处: 花名有孚 原文出处:javarevisited除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API。Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修改的以及将SimpleDateForm转载 2015-10-22 10:32:59 · 531 阅读 · 0 评论 -
Java中创建线程的两种方式
线程(thread)是进程中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。通俗的来说,线程就是程序执行的线索,每一个线程都是一条在执行的线索,线索可以有很多条,即多线程。下面我们来看一下Java中创建线程的两种方式:1.继承Thread类,重写父类的run()方法。2.实现Runnable接口,实现借口中原创 2015-05-25 09:20:31 · 409 阅读 · 0 评论 -
Java环境配置_JDK安装及配置环境变量
Java语言是一种跨平台的语言,实现了一处编写,处处运行的效果。究其原因,其实是在操作系统的基础上,加了一个中间层,Java Virtual Machine,即JVM。Java提供了运行在各种计算机操作系统上的JDK。安装JDK即安装了这个中间层Java虚拟机。下面来看一下安装JDK并且配置环境变量。Windows操作系统上,这里以Win7来演示。安装JDK,以JDK8为例:1.安装JDK原创 2015-07-05 11:57:39 · 522 阅读 · 0 评论 -
Java线程的互斥
众所周知,在编程的过程中不可避免的会用到多线程,既然有多线程就会考虑到互斥问题,那么我们来看一下Java多线程中的互斥。下面先举个多线程容易出现的问题。比如,你的银行账户中有1000元,现在你正在网上银行正在给朋友转账(200元),但是同时有朋友在给你转账(500元),当你正要进行转账的前一刻,朋友首先转账成功,那么此时你账户中的钱应该是原来的钱加上朋友转账的钱,即1000+500=1500元原创 2015-05-25 09:20:42 · 427 阅读 · 0 评论 -
jsp中EL表达式不起作用的问题
SpringMVC过程中出现异常,开发环境如下: 开发工具:IDEA JDK:1.8.0_65 Spring Version:4.2.4 Servlet Version:3.1.0 Maven:3.3.0问题:在jsp页面中使用el表达式取值,取不到值,但是使用jsp中嵌套java代码可以取到值,对应代码如下:// 后台赋值:String viewName = SUCCESS;原创 2015-12-23 16:32:56 · 24851 阅读 · 13 评论 -
ArrayBlockingQueue解析
ArrayBlockingQueue解析继承关系java.util.concurrent 类 ArrayBlockingQueue<E> java.lang.Object 继承者 java.util.AbstractCollection<E> 继承者 java.util.AbstractQueue<E> 继承者 java.util原创 2016-02-01 10:40:42 · 858 阅读 · 0 评论 -
35 个 Java 代码性能优化总结
前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每转载 2015-11-05 09:44:44 · 331 阅读 · 0 评论 -
多线程编程 实战篇 (二)
实战篇(二) 本节继续上一节的讨论. [一个线程在进入对象的休息室(调用该对象的wait()方法)后会释放对该对象的锁],基于这个原因. 在同步中,除非必要,否则你不应用使用Thread.sleep(long l)方法,因为sleep方法并不释放对象的锁.这是一个极其恶劣的品德,你自己什么事也不干,进入sleep状态,却抓住竞争对象的监视锁不让其它需 要该对象监视锁的线程运行,简单说是极端自私转载 2015-08-09 15:06:14 · 382 阅读 · 0 评论 -
多线程编程 基础篇 (二)
基础篇(二)在进入java平台的线程对象之前,基于基础知识(一)的一些问题,我先插入两个基本概念.[线程的并发与并行]在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调试机制有多种形式 (大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的线程让其运行的方式 就叫并发(concurrent).而在多CPU系统中,可以让两个以上的线程同时运行,这种可以同时让两个以上线程同转载 2015-07-20 16:30:01 · 333 阅读 · 1 评论 -
多线程编程 基础篇 (一)
基础篇 (一)[写在前面] 随着计算机技术的发展,编程模型也越来越复杂多样化.但多线程编程模型是目前计算机系统架构的最终模型.随着CPU主频的不断攀升,X86架构的硬件已经成为瓶,在这种架构的CPU主频最高为4G.事实上目前3.6G主频的CPU已经接近了顶峰. 如果不能从根本上更新当前CPU的架构(在很长一段时间内还不太可能),那么继续提高CPU性能的方法就转载 2015-07-16 21:34:16 · 476 阅读 · 0 评论 -
多线程编程 实战篇 (三)
[深入了解线程对象与线程,线程与运行环境]在基础篇中的第一节,我就强调过,要了解多线程编程,首要的两个概念就是线程对象 和线程.现在我们来深入理解线程对象,线程,运行环境之间的关系,弄清Runnable与Thread的 作用.在JAVA平台中,序列化机制是一个非常重要的机制,如果不能理解并熟练应用序列化机制,你就不能称得一个java程序员.在JAVA平台中,为什么有些对象中可序列化的,而有些对转载 2015-08-12 21:49:35 · 1231 阅读 · 0 评论 -
多线程编程 基础篇 (四)
基础篇(四)[wait(),notify()/notityAll()方法]关于这两个方法,有很多的内容需要说明.在下面的说明中可能会有很多地方不能一下子明白,但在看完本节后,即使不能完全明白,你也一定要回过头来记住下面的两句话:[wait(),notify()/notityAll()方法是普通对象的方法(Object超类中实现),而不是线程对象的方法][wait(),notify()/notity转载 2015-07-28 16:49:48 · 421 阅读 · 0 评论 -
多线程编程 实战篇 (一)
实战篇(一) 在进入实战篇以前,我们简单说一下多线程编程的一般原则.[安全性]是多线程编程的首要原则,如果两个以上的线程访问同一对象时,一个线程会损坏 另一个线程的数据,这就是违反了安全性原则,这样的程序是不能进入实际应用的.安全性的保证可以通过设计安全的类和程序员的手工控制.如果多个线程对同一对象访问不 会危及安全性,这样的类就是线程安全的类,在JAVA中比如String类就被设计为线程安全的转载 2015-08-01 09:49:05 · 371 阅读 · 0 评论 -
多线程编程 基础篇 (三)
基础篇(三) 线程对象的几个重要的方法尽管线程对象的常用方法可以通过API文档来了解,但是有很多方法仅仅从API说明是无法详细了解的.本来打算用一节的篇幅来把线程方法中一些重要的知识说完,但这样下来估计要很常的篇幅,可能要用 好几节才能说把和线程方法相关的一些重要的知识说完.首先我们接基础篇(二)来说明start()方法.一个线程对象生成后,如果要产生一个执行的线程,就一定要调用它的start()转载 2015-07-25 10:10:36 · 325 阅读 · 0 评论 -
Java线程的互斥
众所周知,在编程的过程中不可避免的会用到多线程,既然有多线程就会考虑到互斥问题,那么我们来看一下Java多线程中的互斥。下面先举个多线程容易出现的问题。比如,你的银行账户中有1000元,现在你正在网上银行正在给朋友转账(200元),但是同时有朋友在给你转账(500元),当你正要进行转账的前一刻,朋友首先转账成功,那么此时你账户中的钱应该是原来的钱加上朋友转账的钱,即1000+500=1500...2014-08-15 18:02:37 · 138 阅读 · 0 评论 -
Java中创建线程的两种方式
线程(thread)是进程中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。通俗的来说,线程就是程序执行的线索,每一个线程都是一条在执行的线索,线索可以有很多条,即多线程。下面我们来看一下Java中创建线程的两种方式:1.继承Thread类,重写父类的run()方法。2.实现Runnable接口,实现借口...2014-08-14 14:00:39 · 99 阅读 · 0 评论