- 博客(84)
- 问答 (1)
- 收藏
- 关注
原创 使用注解校验前端传入数据
后台接收前端传入的数据时,虽然前端会校验,但为了安全,我们后台也需要校验,这就造成了大量重复冗余的校验代码,看上去非常不优雅. 下面简单介绍注解校验的使用方法: 1.在实体类中给需要校验的字段贴上校验注解. 2.在控制层(Controller)的方法上开启注解校验(贴上@Valid注解即可) ...
2018-03-27 20:24:01
2451
原创 Java开发RESTful
一.首先,什么是REST? REST从字面上讲叫做Representational State Transfer,翻译成表现层状态转移,但是一般在翻译的时候,前面会加一个Resource,即Resource Representational State Transfer,即为资源表现层状态转移.用人话讲就是:客户端通过HTTP请求,对服务器端的资源进行操作,实现"表现层(使用HTTP动词去促使
2018-01-24 16:56:36
15102
1
原创 如何高效学习
在得到APP上面买了许岑老师的如何成为有效学习的高手音频,感觉受益匪浅,接下来我就将里面的核心内容给自己做一个反馈.1.首先,学习对象的选择上,它必须是有实际用途的,因为一个东西如果没有实际用途,那么我们很难有强烈的学习欲望支撑自己去坚持学习.2.高效学习的定义(因为原话提炼的很精髓,所以直接引用):找到最适合自己的学习方法,在相对短的时间内集中注意力,以解决一个工作或生活当中的难题为目的
2018-01-01 22:31:14
811
原创 Fiddler浅谈
最近同事推荐了一个工具-Fiddler,感觉很好用,我也推荐下.首先了解下Fiddler,网上是这样介绍的,它是一个http协议调试代理工具,能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的进出Fiddler的数据.好像不太好懂,我的理解是这样的,当我们的电脑上装了Fiddler后,我们打开网页(或者说通过互联网访问外部)的时候,都要通过Fiddler做一个代理,
2017-11-24 17:30:28
506
原创 CDN浅谈
首先,我们先看下没有使用CDN的网站访问流程:1.用户在浏览器输入域名发起请求.2.,浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址.3.浏览器使用所得到的IP地址向服务器发出数据访问请求.4.浏览器根据服务器返回的数据显示网页的内容.通过上面四个步骤,浏览器完成从用户处接受用户要访问的域名到从服务器处获取数据的整个过程.CDN网络是在用户和服务器之间增加C
2017-09-18 15:11:22
1085
原创 架构探险-JavaWeb(二)之简单jsp页面增删改查
一.最简单的web增删改查,先上图二.业务层目前也只有简单的增删改,JdbcTemplate的封装上一篇已写.三.Servlet是合并着写的,用cmd来传递参数来区分要做什么四.写这个页面我才发现,什么el表达式我早已忘了
2017-08-31 16:43:21
739
1
原创 架构探险-JavaWeb之JDBC模板方法抽取
一.首先,我们使用目前性能最好的连接池-druid.并提供一个归还连接对象给连接池的方法二.JdbcTemplate的增删改的通用模板方法三.查询方法的抽取相对而言复杂一些,因为不同对象的查询它的结果集的处理方式不同,而且查询单个对象和查询对象的集合的处理方式也不同
2017-08-29 20:38:15
470
原创 和父母通话随笔
刚给家里打了电话,内心久久不能平静。我妈49了,明年退休,她竟然说等她退休了她就有养老金,然后再打份零工,帮我攒钱,只为了帮我在大城市能买房。。。哎,可怜天下父母心啊,我的父母一辈子都在小县城的平凡的岗位默默付出,平时省吃简用,只是并没有存下多少钱,但他们却情愿把他们一辈子的全部积蓄都给我,他们毫无怨言,我却受之有愧啊。我只需要多努力一点,我明年的薪资涨幅都可以超过他们两的年收入,为什么还
2017-08-27 23:18:26
728
1
原创 我要高效学习
到今天为止,来新公司已经五个月零十天了,工作的激情慢慢消退,自己学习的动力也不是那么强了,细细思考了一下,自己学习的方法和方向是出了问题的,需要改进。前一段时间一直想追求新的东西,例如spring boot,spring cloud,但它们目前在工作中还用不到,属于重要但不紧急的事情,而我更应该把精力放在重要且紧急的事情上来。什么是重要且紧急的事情啦,当然是我们工作中要用到的技术。工作几个月后
2017-08-19 23:45:41
5913
转载 Java面试题(下)
这部分主要是开源JavaEE框架方面的内容,包括hibernate、MyBatis、spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考我的另一篇文章《Java面试题集(86-115)》。此外,这篇文章还对企业应用架构、大型网站架构和应用服务器优化等内容进行了简单的探讨,这些内容相信对面试会很有帮助
2017-08-17 10:26:37
672
转载 Java面试题(中)
这部分主要是与JavaWeb和Web Service相关的面试题。96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。补充:Sun Micro
2017-08-17 10:21:57
603
转载 Java面试题(上)
1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派
2017-08-17 10:07:34
2507
转载 关于Spring的面试题
这篇文章总结了一些关于Spring框架的重要问题,这些问题都是你在面试或笔试过程中可能会被问到的。下次你再也不用担心你的面试了,Java Code Geeks这就帮你解答。大多数你可能被问到的问题都列举在下面的列表中了。所有的核心模块,从基础的Spring功能(如Spring Beans)到上层的Spring MVC框架,文章中都会进行简短的讲解。看完这些面试问题,你应该看看我们的Spri
2017-08-16 09:45:46
993
1
转载 分布式-微服务-集群的区别
1.分布式将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。上面:service A、B、C、D 分别是业务组件,通过API Geteway进行业务访问。注:分布式需要做好事务管理。分布式事务可参考:微服务架构的分布式事务解决方案2.集群模式
2017-08-14 20:54:34
8133
转载 Netty是干什么的?
Netty是什么?1)本质:JBoss做的一个Jar包2)目的:快速开发高性能、高可靠性的网络服务器和客户端程序3)优点:提供异步的、事件驱动的网络应用程序框架和工具通俗的说:一个好使的处理Socket的东东如果没有Netty?远古:java.net + java.io近代:java.nio其他:Mina,Grizzly
2017-08-14 09:16:51
6698
转载 Spring Cloud是什么?
Spring Cloud是一个相对比较新的微服务框架,今年(2016)才推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全居琐,leader选举,分布式s
2017-08-11 10:15:49
2295
1
转载 Dubbo是什么?
Dubbo背景和简介Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起。单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本。 缺点:单一的系统架构,使得在开发过程中,占用的资源越来越多,而且随着流量的增加越来越难以维护垂直应用框架(MVC) 垂直应用架构解决了单一应用架构所面临的扩容问
2017-08-11 10:06:42
676
转载 ZooKeeper是什么?
一、分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。这时,有人可能会说这个简单,写一个调 度算法就轻松解决了。说这句话的人,可能对分布式系统不是很了解,所以才会出现这种误解。如果这
2017-08-11 09:44:16
752
转载 Kotlin 是什么?
Kotlin是JetBrains开发的针对JVM、Android 和浏览器的静态编程语言。JetBrains,作为目前广受欢迎的 Java IDE IntelliJ IDEA 的开发商,在 Apache 许可下已经开源其Kotlin 编程语言。JetBrains 作为最智能的 Java IDE 的开发商,对 Java 的了解是毋庸置疑的,在使用 Java 过程中,JetBrai
2017-07-31 09:07:00
1869
转载 微服务架构(三):微服务重构应用及IBM解决方案
解析微服务架构系列文章将分几篇描述微服务的定义、特点、应用场景、企业集成架构的演进以及微服务转型思路和技术决策考虑等内容,并以IBM技术为例介绍如何实现微服务架构转型。上一篇文章介绍了融入微服务的企业集成架构的演进,并介绍交互式系统的微服务模式及技术决策例子。本篇文章将介绍已有IT应用如何进行微服务重构的转型,以及IBM微服务相关解决方案的介绍。 微服务转型
2017-07-30 23:05:11
4377
转载 微服务架构(二):融入微服务的企业集成架构
上一篇文章介绍了微服务架构的起源、定义、通用特性、常见概念误区、微服务架构与SOA架构比较、微服务架构收益以及企业引入微服务架构的策略。本文将介绍融入微服务的企业集成架构的演进,并描述交互式系统的微服务模式及相关技术决策,然后给出了一个具体的微服务架构业务应用的例子。 交互型系统(System of Engagement)与记录型系统(System of Record)
2017-07-30 22:55:08
4476
转载 微服务架构(一):什么是微服务
解析微服务架构系列文章将分几篇描述微服务的定义、特点、应用场景、企业集成架构的演进以及微服务转型思路和技术决策考虑等内容,并以IBM技术为例介绍如何实现微服务架构转型。为什么需要微服务架构“微服务”架构是近期软件应用领域非常热门的概念。让我们先来看看传统IT架构面临的一些问题: 使用传统的整体式架构(Monolithic Architecture
2017-07-30 22:39:29
142603
6
转载 Spring Boot浅谈(是什么/能干什么/优点和不足)
1. Spring Boot是什么,解决哪些问题 1) Spring Boot使编码变简单 2) Spring Boot使配置变简单 3) Spring Boot使部署变简单 4) Spring Boot使监控变简单 5) Spring Boot的不足2. Spring Boot在平台中的定位,相关技术如何融合 1) Sp
2017-07-30 21:57:50
193908
9
转载 Dubbo架构设计详解
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。
2017-07-30 21:49:56
997
转载 REST和RESTful浅谈
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,
2017-07-30 21:30:32
5544
1
原创 如何自定义事件(Spring事件机制浅谈)
LZ第一次在工作中接触Spring事件机制是项目中的定时任务,当Spring容器初始化完成时,把配置在数据库中的定时任务数据全部加载.此时只用定义一个类实现ApplicationListener接口,并把该类交给Spring来管理,并在覆写的方法中实现自己的业务即可,因为ContextRefreshedEvent就是Spring的启动事件,Spring启动完成就会触发该事件. 我们
2017-07-25 18:12:11
3441
转载 Quartz任务调度框架学习四(Quartz集成Spring及在项目中的应用)
Spring定时任务的几种实现近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合spring框架来介绍。一.分类从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):Java自带的java.util.Timer类,这个类允许你调度一个
2017-07-24 17:21:32
388
原创 Quartz任务调度框架学习三(Cron Expressions(计划任务表达式)详解)
Cron的表达式是一个由七个表达式组成的字符串,每一个子表达式都描述了一个单独的日程细节,这些表达式用空格分隔,分别表示: 1. Seconds 秒 2. Minutes 分 3. Hours 小时 4. Day-of-Month 月中的天 5. Month 月 6
2017-07-21 18:21:12
476
原创 Quartz任务调度框架学习二(核心接口及cron表达式简介)
一.核心接口 Scheduler - 核心调度器 Job – 任务 JobDetail – 任务描述,定义Job的实例 Trigger – 触发器,触发Job的执行 JobBuilder – 定义和创建JobDetail实例的接口 TriggerBuilder – 定义和创建Trigger实例的接口二.核心接口之间的关系,如图所示(方便理解和记忆
2017-07-21 17:13:29
492
原创 Quartz任务调度框架学习一(Hello Quartz!)
本人以前从未了解过Quartz框架,最近在工作中处理定时任务时刚接触,上手用起来很简单,有空也就系统的学了下,废话不多说,先上Hello Quartz看下它到底是个什么东东. 一.首先,我们在maven中引入相关依赖. 二.编写任务类实现Job接口,覆写的execute方法内容就是到时候定时执行的内容. 三.简单的做了些设置,从结果上看我们的
2017-07-21 15:24:14
410
转载 Java9新特性介绍
1. Java 平台级模块系统Java 9 的定义功能是一套全新的模块系统。当代码库越来越大,创建复杂,盘根错节的“意大利面条式代码”的几率呈指数级的增长。这时候就得面对两个基础的问题: 很难真正地对代码进行封装, 而系统并没有对不同部分(也就是 JAR 文件)之间的依赖关系有个明确的概念。每一个公共类都可以被类路径之下任何其它的公共类所访问到, 这样就会导致无意中使用了并不想被公开访问的 A
2017-07-21 12:57:55
2872
原创 Java接口和抽象类的异同
相同点: 1.都位于继承的顶端,用于被其他子类或接口继承或实现. 2.都不能实例化. 3.都可以定义抽象方法,其非抽象子类必须覆写这些抽象方法.区别: 1.接口没有构造方法,抽象类有构造方法. 2.接口只能包含抽象方法,抽象类可以包含普通方法和抽象方法. 3.一个类只能继承一个直接父类(可能是抽象类
2017-07-19 22:57:36
450
原创 JDBC概述(持久化/版本的介绍)
首先需要了解什么是持久化(persistence):持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种数据库来完成。持久化的主要应用是将内存中的数据存储在数据库中,当然也可以存储在磁盘文件、XML数据文件中。 JPA:JavaEE的规范,
2017-07-19 14:44:33
728
原创 数据库概述(发展历程,关系数据库/非关系数据库/SQL)
简介:数据库(DataBase:DB):数据库是按照数据结构来组织、存储和管理数据的仓库。---->存储和管理数据的仓库.为什么要使用数据库不用XML或者文件呢?数据库管理系统(Database Management System:DBMS):是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安
2017-07-19 09:56:05
1735
原创 请求转发和URL重定向区别
首先介绍下Servlet之间的交互,Servlet和Servlet之间可以共享信息并且可以相互跳转.一个完整的操作,需要AServlet执行一部分操作,然后再交给BServlet继续完成.常用的有请求转发(forward)和URL重定向(redirect).请求转发(forward): AServlet操作完毕之后,请求转发到BServlet,继续完成余下的功能. 语
2017-07-18 17:12:50
2025
转载 svn使用简介
安装及下载client 端 下载Windows 端程序:http://tortoisesvn.net/downloads。一般而言,如果是32-bit的Windows XP 应该使用TortoiseSVN-1.4.x.xxxx-win32-svn-1.4.x.msi 这个档案。如果是64-bit 的操作系统,则应该使用TortoiseSVN-1.4.x.xxxx-x64-svn-1.4.x
2017-07-14 09:03:31
377
转载 jQuery选择器详解(层叠选择器/过滤选择器/表单选择器)
jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的div标签元素,返回div元素数组 $(".myClass") 选择使用myClass类的css
2017-07-12 18:47:23
817
转载 spring事务详解
1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱;然后ATM出1000元钱。这两个步骤必须是要么都执行要么都不执行。如果银行卡扣除了1000块但是ATM出钱失败的话,你将会损失1000元;如果银行卡扣钱失败但是ATM却出了1000块,那么银行将损失1000元。所以,如果一个步骤
2017-07-11 19:36:38
411
原创 java注解定义和使用详解
注解与元注解:注解:用来贴在类/方法/变量等之上的一个标记,第三方程序可以通过这个标记赋予一定功能.元注解:在定义注解的时候用来贴在注解上的注解,用来限定注解的用法.元注解有四个:@Retention,@Target,@Documented,@Inherited@Retention:决定注解可以保存到哪个时期,有三个都封装在枚举RententionPolicy中:
2017-07-10 09:53:15
446
空空如也
saturn框架的console显示当前命名空间未连接
2017-10-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人