java
争夕
我们一开始美好的初衷最终还是跟我们自己打了一架,其实是我们自己被这个世界矛盾化了,强大不可改变的自然运转规律需要感性的我们用理智的心情找到一个合适的平衡点。
展开
-
java语言常用包
java.lang java.util java.io原创 2014-10-21 20:54:36 · 442 阅读 · 0 评论 -
Java版本兼容问题
Java代码编写完成后,通常要经过编译,编译后产生jar再运行。随着Java版本的升级,编译工具与运行环境都有一定的升级,不过官方称这些都是向下兼容的。如何理解向下兼容?向下兼容说的意思是当前版本以及其下所有版本编译的项目都可在当前版本对就的JRE下运行;与其相反是,如果编译版本超越当前JRE版本,则将无法运行,会报错如:Unsupported major.minor version 52.0...原创 2018-10-05 16:53:03 · 11387 阅读 · 2 评论 -
了解Java JNI及动态链接库
提到Java JNI不得不提到动态链接库,在window操作系统中一般为后缀为DLL的文件,在Linux中为.so文件。动态链接库的作用在于为多个应用程序提供相同的函数功能,以此达到节省代码量,节省内存,共享相关数据、系统资源的作用。Java的JNI则是为了对接这种功能的技术。Java中的一个方法申明为native时,是不会直接用java代码去做实现的,因为native方法就是通过JNI去调用...原创 2018-10-04 22:17:15 · 340 阅读 · 0 评论 -
冒泡排序
原理: 思路:总共需要多少轮冒泡?需要n-1次。 冒泡:每一轮冒泡将会在剩下的(n-i)个元素中产生一个最大或者最少的值, 第一轮i等于0,第二轮i等于1… 而每一轮的冒泡需要比较(n-i-1)次即可确定一个极值,所以(n-i-1)就是一轮冒泡要比较的次数所以具体第一轮参与冒泡的元素个数是与元素总量n有递减关系,并且参数冒泡的次数也是固定的为n-1,这种明显可量化的问题可以用一个很典型...原创 2018-08-20 22:02:45 · 4595 阅读 · 0 评论 -
了解JSR 303 - Bean Validation
Bean ValidationBean Validation是JSR中的一种规范,提出这个规范的目的在于合理提取数据模型的校验逻辑,使数据校验相关的工作绑定到Java Bean域模型上,从而可以避免相同的校验逻辑重复出现以及重复出现在不同的层上。Bean Validation 中的 constraintBean Validation通过定义相关元数据模型和API来规范校验工作,我们...原创 2018-08-13 21:43:03 · 185 阅读 · 0 评论 -
JAVA CAS初识
多线程并发协同通讯一直都是不可避之的话题,尤其是现代多核处理器的发展更推动了关于这方面的研究。在JAVA领域,JDK 5之前是靠synchronized关键字保证同步的,而这会导致产生比较重量级的锁,通常会导致线程阻塞、等待、唤醒。如果线程的这种状态切换比较频繁可能会加重CPU的负担,这样可能会阻碍真正有意义的处理。而CAS这种算法的出现可以避免这些,CAS是从硬件层面作一些变量操作的原子...原创 2018-07-22 14:45:10 · 133 阅读 · 0 评论 -
java wait、nofity实操时的一些感悟
夜深了,我还在学习+操练,为自己近段时间的学习状态点赞,即使操练的时候,我也喜欢多思考,同时体会出更多的一些理论感悟,然后写下来,捋一捋,很爽,因为理解的更透彻了!跟一些大神的思维似乎又接近了些。以下是今天的成果,有兴趣的请细看:package test.wait;import java.text.MessageFormat;/** * 如果一个处理过程被设计为:大部...原创 2018-07-24 22:26:10 · 505 阅读 · 0 评论 -
java中的wait、notify
最近在学习java多线程的锁相关的知识,通过不断百度别人对wait、notify的理解,我也有了一些的认识。同时之所以写这篇博客,我也是发现网上大多写的是wait、notify的用法、规则、注意事项、描述性比较专业、太技术化。这对于初学都来说容易陷入一脸懵逼的状态,很快可能就想放弃。而我今天描述则重在剖析wait、notify存在的意义,而还是让初学都陷入一种被动接受规则的境地,只有这样才能...原创 2018-07-24 20:40:47 · 186 阅读 · 0 评论 -
借Spring framework简介剖析来告诫大家要追本溯源
任务软件产品都是结合实际应用价值为导向而产生,一个没有实际应用价值的软件产品谈再多的技术都是耍流氓;反过来其实为实现特定的价值也正是驱动技术发展与革新的动力。一个好的软件产品诞生了,必然会有一个对它的简介,简介不需要太冗杂繁多,只需要切入特定领域精简而又不偏离软件的道出真正价值即可。写在上面的话是想告诉大家要追本溯源,如此我们学习了解任务软件产品的才能思想觉醒,而我接触了spring这...原创 2018-07-12 22:05:10 · 236 阅读 · 0 评论 -
谈谈线程与进程及它们之间的通讯
本文主要聊聊线程与进程以及它们之间的通讯。线程与进程的概念我相信我们每个开发者都常常听到,但是我们是否真正理解了它们? 如何应用它们来实现一个并发程序的通讯,如何利用它们合理利用系统资源,都关乎我们是否能实现一个好的应用程序。本文主要是在于温故而知新,主要是用来梳理线程进程的知识。进程 是具有一定独立功能的程序,相对操作系统来说,操作系统分配资源给进程,所以进程作为系统资源分配和...原创 2018-07-16 21:52:46 · 1398 阅读 · 0 评论 -
spring mvc学习
spring mvc是什么spring web mvc:一种基于java的实现了web mvc设计模式的请求驱动类型的轻量级web框架。我想这是对spring web mvc的比较精简准确的描述。那么什么是web mvc设计模式?其实这种架构模式我想做web开发的都有一定的了解,它其实是把web层的职责解耦合,主要分为控制器、模型、视图。它使用请求-响应模型,来触发相应控制器转发请求给相应模型处理,原创 2017-08-06 13:38:10 · 305 阅读 · 0 评论 -
java8 Stream API之reduce
通过前面那篇文章,我们已经对Stream API有了初步的认识,并对它在集合处理中的增强作用表示了肯定。同时我们上篇中示例了forEach、fiter、sum这些常用的功能,本篇我们只讲reduce。reduce的作用是把stream中的元素给组合起来。至于怎么组合起来:它需要我们首先提供一个起始种子,然后依照某种运算规则使其与stream的第一个元素发生关系产生一个新的种子,这个新的种子再紧接着与原创 2017-08-04 15:32:43 · 7475 阅读 · 0 评论 -
java8 Stream API初识
聊到了java8,自然很多很多人会想到lambda表达式和函数式接口这两个比较重要的特性。同时Stream API则是基于这个两个重要特性而衍生出的比较重要的工具,它是对java集合操作的增强,它用到了比较精炼表达的lambda表达式,把对集合的相关汇聚操作提取出可读性高的API,并且支持串行和并行两种处理方式,它让我们抛弃传统的迭代循环方式,让我们面向stream的方式进行操作,这是一种替代方案,原创 2017-08-04 13:52:46 · 424 阅读 · 1 评论 -
java8初探
java8已经出来很长时间了,它是自java5以来做了很大的改变的一个版本,增加了很多新的特性,所以这个版本受到了极大的关注,我们应该很有必要去了解下。Lambda这是java8的最重要的一个特性,java8借助这个表达式使其语法有些与以往有些不同,但是表达能力毫无疑问是很强的,它所对应的接口为函数式接口,它实际是用来替代传统的匿名内部类,比以前的匿名内部类的使用更精简理工具强表达性的植入一段过程,原创 2017-08-02 23:17:15 · 290 阅读 · 2 评论 -
gradle初学
ant与maven我早已有所了解,它们大致的原理我要清楚些,但是对于gradle却并没有什么实际的操练经验,印象中它是一个基于groovy的DSL风格的语法特性,而groovy是一门基于JVM的语言,所以gradle做的一些构建的活也应该是需要jvm运行环境。我理解的则是gradle好像在android app的构建中用的比较多,而大部分开源项目似乎还是以主流的maven构建为主,但是实际是grad原创 2017-08-01 23:35:41 · 233 阅读 · 0 评论 -
Java8 Optional剖析
Optional存在的意义在java8出现之前,通常在调用一个对象的方法的时候,难免会判断对象是否为Null,只有不为null才敢去调用对象的方法,这是一种安全措施,如果不注重这个null的情况,会常常出现NullPointException。相信java程序员对这个异常并不陌生。而java8出现之后使用到了Optional这个接口,它用一种更优雅的方式来处理这种问题,并且使得程序可读性更高。原创 2017-08-16 10:05:55 · 246 阅读 · 0 评论 -
项目源码与项目构建产物的版本管理
前言工作中杂事比较多,或许没有哪个公司会去给你专门的写技术博客的时间吧。我想说的是,也许会挤时间的人能够在工作间隙抽空写出自己对技术的感悟,一有某方面看法,立马能够捕捉当时想法记录下来,至少也方便后来的整理成文,而且能够用这种方式说服更多人认可他的观点。而对于我,事实上我没有写博客的习惯,但是我确实想写,记录出来,我只能说自己比较懒吧,可是我对我做的项目,对于我工作中遇到的诸多问题其实都有自己的想法原创 2016-03-03 16:43:58 · 807 阅读 · 0 评论 -
spring mvc中应用velocity
VelocityVelocity是一款基于java的模板引擎。相比于jsp而言,它被使用的人可能并不多,但的确也是一款出色的模板引擎。jsp中允许出现java代码,而Velocity不允许,也是为了方便维护模板,严格遵从MVC设计原则。模板只负责页面的规划,渲染页面。当然Velocity的定位不仅仅在web页面的开发上使得前后端开发者可以更明确的职责分离,它还可以应用在其它涉及模板应用的领域,比...原创 2018-10-14 14:31:08 · 396 阅读 · 0 评论