宁静致远

点滴珍贵,重在积累。

spring mvc中应用velocity

Velocity Velocity是一款基于java的模板引擎。相比于jsp而言,它被使用的人可能并不多,但的确也是一款出色的模板引擎。jsp中允许出现java代码,而Velocity不允许,也是为了方便维护模板,严格遵从MVC设计原则。模板只负责页面的规划,渲染页面。当然Velocity的定位不...

2018-10-14 14:31:08

阅读数 58

评论数 0

Java版本兼容问题

Java代码编写完成后,通常要经过编译,编译后产生jar再运行。随着Java版本的升级,编译工具与运行环境都有一定的升级,不过官方称这些都是向下兼容的。 如何理解向下兼容? 向下兼容说的意思是当前版本以及其下所有版本编译的项目都可在当前版本对就的JRE下运行;与其相反是,如果编译版本超越当前JRE...

2018-10-05 16:53:03

阅读数 1013

评论数 0

了解Java JNI及动态链接库

提到Java JNI不得不提到动态链接库,在window操作系统中一般为后缀为DLL的文件,在Linux中为.so文件。动态链接库的作用在于为多个应用程序提供相同的函数功能,以此达到节省代码量,节省内存,共享相关数据、系统资源的作用。 Java的JNI则是为了对接这种功能的技术。 Java中的一个...

2018-10-04 22:17:15

阅读数 56

评论数 0

冒泡排序

原理: 思路:总共需要多少轮冒泡?需要n-1次。 冒泡:每一轮冒泡将会在剩下的(n-i)个元素中产生一个最大或者最少的值, 第一轮i等于0,第二轮i等于1… 而每一轮的冒泡需要比较(n-i-1)次即可确定一个极值,所以(n-i-1)就是一轮冒泡要比较的次数 所以具体第一轮参与冒泡的元素个...

2018-08-20 22:02:45

阅读数 74

评论数 0

了解JSR 303 - Bean Validation

Bean Validation Bean Validation是JSR中的一种规范,提出这个规范的目的在于合理提取数据模型的校验逻辑,使数据校验相关的工作绑定到Java Bean域模型上,从而可以避免相同的校验逻辑重复出现以及重复出现在不同的层上。 Bean Validation 中的 c...

2018-08-13 21:43:03

阅读数 38

评论数 0

java wait、nofity实操时的一些感悟

夜深了,我还在学习+操练,为自己近段时间的学习状态点赞,即使操练的时候,我也喜欢多思考,同时体会出更多的一些理论感悟,然后写下来,捋一捋,很爽,因为理解的更透彻了!跟一些大神的思维似乎又接近了些。 以下是今天的成果,有兴趣的请细看: package test.wait; impo...

2018-07-24 22:26:10

阅读数 204

评论数 0

java中的wait、notify

最近在学习java多线程的锁相关的知识,通过不断百度别人对wait、notify的理解,我也有了一些的认识。同时之所以写这篇博客,我也是发现网上大多写的是wait、notify的用法、规则、注意事项、描述性比较专业、太技术化。这对于初学都来说容易陷入一脸懵逼的状态,很快可能就想放弃。而我今天...

2018-07-24 20:40:47

阅读数 56

评论数 0

JAVA CAS初识

多线程并发协同通讯一直都是不可避之的话题,尤其是现代多核处理器的发展更推动了关于这方面的研究。 在JAVA领域,JDK 5之前是靠synchronized关键字保证同步的,而这会导致产生比较重量级的锁,通常会导致线程阻塞、等待、唤醒。如果线程的这种状态切换比较频繁可能会加重CPU的负担,这样可能...

2018-07-22 14:45:10

阅读数 37

评论数 0

谈谈线程与进程及它们之间的通讯

本文主要聊聊线程与进程以及它们之间的通讯。线程与进程的概念我相信我们每个开发者都常常听到,但是我们是否真正理解了它们? 如何应用它们来实现一个并发程序的通讯,如何利用它们合理利用系统资源,都关乎我们是否能实现一个好的应用程序。 本文主要是在于温故而知新,主要是用来梳理线程进程的知识。 ...

2018-07-16 21:52:46

阅读数 488

评论数 0

借Spring framework简介剖析来告诫大家要追本溯源

任务软件产品都是结合实际应用价值为导向而产生,一个没有实际应用价值的软件产品谈再多的技术都是耍流氓;反过来其实为实现特定的价值也正是驱动技术发展与革新的动力。一个好的软件产品诞生了,必然会有一个对它的简介,简介不需要太冗杂繁多,只需要切入特定领域精简而又不偏离软件的道出真正价值即可。 写...

2018-07-12 22:05:10

阅读数 72

评论数 0

Java8 Optional剖析

Optional存在的意义 在java8出现之前,通常在调用一个对象的方法的时候,难免会判断对象是否为Null,只有不为null才敢去调用对象的方法,这是一种安全措施,如果不注重这个null的情况,会常常出现NullPointException。相信java程序员对这个异常并不陌生。而java8...

2017-08-16 10:05:55

阅读数 130

评论数 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

阅读数 133

评论数 0

java8 Stream API之reduce

通过前面那篇文章,我们已经对Stream API有了初步的认识,并对它在集合处理中的增强作用表示了肯定。同时我们上篇中示例了forEach、fiter、sum这些常用的功能,本篇我们只讲reduce。reduce的作用是把stream中的元素给组合起来。至于怎么组合起来:它需要我们首先提供一个起始...

2017-08-04 15:32:43

阅读数 4607

评论数 0

java8 Stream API初识

聊到了java8,自然很多很多人会想到lambda表达式和函数式接口这两个比较重要的特性。同时Stream API则是基于这个两个重要特性而衍生出的比较重要的工具,它是对java集合操作的增强,它用到了比较精炼表达的lambda表达式,把对集合的相关汇聚操作提取出可读性高的API,并且支持串行和并...

2017-08-04 13:52:46

阅读数 158

评论数 1

java8初探

java8已经出来很长时间了,它是自java5以来做了很大的改变的一个版本,增加了很多新的特性,所以这个版本受到了极大的关注,我们应该很有必要去了解下。Lambda这是java8的最重要的一个特性,java8借助这个表达式使其语法有些与以往有些不同,但是表达能力毫无疑问是很强的,它所对应的接口为函...

2017-08-02 23:17:15

阅读数 145

评论数 2

gradle初学

ant与maven我早已有所了解,它们大致的原理我要清楚些,但是对于gradle却并没有什么实际的操练经验,印象中它是一个基于groovy的DSL风格的语法特性,而groovy是一门基于JVM的语言,所以gradle做的一些构建的活也应该是需要jvm运行环境。我理解的则是gradle好像在andr...

2017-08-01 23:35:41

阅读数 136

评论数 0

项目源码与项目构建产物的版本管理

前言工作中杂事比较多,或许没有哪个公司会去给你专门的写技术博客的时间吧。我想说的是,也许会挤时间的人能够在工作间隙抽空写出自己对技术的感悟,一有某方面看法,立马能够捕捉当时想法记录下来,至少也方便后来的整理成文,而且能够用这种方式说服更多人认可他的观点。而对于我,事实上我没有写博客的习惯,但是我确...

2016-03-03 16:43:58

阅读数 447

评论数 0

java语言常用包

java.lang   java.util   java.io

2014-10-21 20:54:36

阅读数 310

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭