04 2018 档案

摘要:Callable接口: Runnable接口: 相同点: 不同点: 注意点: Callable接口支持返回执行结果,此时需要调用FutureTask.get()方法实现,此方法会阻塞主线程直到获取‘将来’结果;当不调用此方法时,主线程不会阻塞! Callable工作的Demo: 测试结果: Runn 阅读全文
posted @ 2018-04-28 09:15 Margaery 阅读(248) 评论(0) 推荐(0)
摘要:框架封装了普通项目中程序员需要重复书写的代码和调用过程,就比如说在传统的jsp项目中,我们的controller接收到前端的请求然后程序员就需要去开发Dao层,里面还涉及数据库的连接和存储过程的代码,大部分都是冗余的代码,而有了SSM框架后极大的简化了程序猿在controller以下层的开发,只需要 阅读全文
posted @ 2018-04-26 16:20 Margaery 阅读(9821) 评论(1) 推荐(3)
摘要:SpringMVC的工作原理: 1、当用户在浏览器中点击一个链接或者提交一个表单时,那么就会产生一个请求(request)。这个请求会携带用户请求的信息,离开浏览器。 2、这个请求会首先到达Spring的DispatcherServlet(就是前端控制器),工作是将用户的请求委托给其他的组件(这里是 阅读全文
posted @ 2018-04-26 11:38 Margaery 阅读(1562) 评论(0) 推荐(0)
摘要:spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。 除了spring.jar文件,Spr 阅读全文
posted @ 2018-04-25 23:49 Margaery 阅读(188) 评论(0) 推荐(0)
摘要:1、基本概念 1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企 阅读全文
posted @ 2018-04-25 22:19 Margaery 阅读(1863) 评论(0) 推荐(0)
摘要:问题:前端页面获取到时间数据后显示出:“Thu Apr 19 08:37:23 CST 2018”格式,显示效果不友好,欲将其转换为“yyyy-mm-dd hh:mm:ss”格式。 解决方案: 阅读全文
posted @ 2018-04-21 10:43 Margaery 阅读(1563) 评论(0) 推荐(0)
摘要:Result Maps collection does not contain value for frontpreviewprofitManage.cdata 出现上述错误 主要是因为你的select标签内部的resultMap属性指向的不正确 在sql文件中只要有一个resultMap或resu 阅读全文
posted @ 2018-04-21 10:06 Margaery 阅读(12756) 评论(0) 推荐(0)
摘要:1.集合包 集合包最常用的有Collection和Map两个接口的实现类,Colleciton用于存放多个单对象,Map用于存放Key-Value形式的键值对。 Collection中最常用的又分为两种类型的接口:List和Set,两者最明显的差别为List支持放入重复的元素,而Set不支持。 Li 阅读全文
posted @ 2018-04-20 17:56 Margaery 阅读(833) 评论(0) 推荐(0)
摘要:1、Eclipse常用快捷键 1 Ctrl + F:在当前类中搜索摸一个单词将其替换为另外一个单词 2 Ctrl + L:定位到当前编辑器的某一行(即显示当前行所在类的行数) 3 Ctrl + H: 进行全局搜索和局部搜索 4 Ctrl + Shift + R:查找构建路径重点的所有文件,包含任何文 阅读全文
posted @ 2018-04-19 16:34 Margaery 阅读(215) 评论(0) 推荐(0)
摘要:二者不是一个层面的东西。 MVCC(Multi-Version Concurrent Control),基于快照隔离机制(Snapshot Isolations)进行多版本并发控制,是一种以乐观锁为理论基础的,用来解决读-写冲突的无锁并发控制。也就是为事务分配单向增长的时间戳,为每个修改保存一个版本 阅读全文
posted @ 2018-04-10 21:07 Margaery 阅读(1066) 评论(0) 推荐(0)
摘要:生命周期执行的过程如下:1) spring对bean进行实例化,默认bean是单例2) spring对bean进行依赖注入3) 如果bean实现了BeanNameAware接口,spring将bean的id传给setBeanName()方法4) 如果bean实现了BeanFactoryAware接口 阅读全文
posted @ 2018-04-09 20:48 Margaery 阅读(15374) 评论(0) 推荐(1)
摘要:简介: @RequestBody 作用: i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上; ii) 再把HttpMessageConverter返回的对象数据绑定到 controlle 阅读全文
posted @ 2018-04-09 19:47 Margaery 阅读(1735) 评论(0) 推荐(0)
摘要:如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。 方案一:激活Tomcat的defaultServlet来处理静态文件 要配置多 阅读全文
posted @ 2018-04-09 19:31 Margaery 阅读(2502) 评论(0) 推荐(0)
摘要:一、概述 在利用servlet或Filter进行url请求的匹配时,很关键的一点就是匹配规则,但servlet容器中的匹配规则既不是简单的通配,也不是正则表达式,而是由自己的规则,比较容易混淆。本文来详细举例介绍下。下面的说明都是在tomcat服务器中得到验证的。 先介绍一下匹配的概念,上例子代码。 阅读全文
posted @ 2018-04-09 18:27 Margaery 阅读(471) 评论(0) 推荐(0)
摘要:SpringMVC确定目标方法POJO类型的入参过程 1、确认一个key: (1)、若目标方法的POJO类型的参数没有使用@ModelAttribute作为修饰,则key为POJO类名第一个字母的小写 (2)、若使用@ModelAttribute来修饰,则key为@ModelAttibute注解的v 阅读全文
posted @ 2018-04-09 17:36 Margaery 阅读(927) 评论(0) 推荐(0)
摘要:被@ModelAttribute注释的方法会在此controller每个方法执行前被执行,因此对于一个controller映射多个URL的用法来说,要谨慎使用。 我们编写控制器代码时,会将保存方法独立成一个控制器也是如此。 1、注释void返回值的方法 在这个代码中,访问控制器方法helloWorl 阅读全文
posted @ 2018-04-09 17:30 Margaery 阅读(6064) 评论(0) 推荐(0)
摘要:@SessionAttributes原理 默认情况下Spring MVC将模型中的数据存储到request域中。当一个请求结束后,数据就失效了。如果要跨页面使用。那么需要使用到session。而@SessionAttributes注解就可以使得模型中的数据存储一份到session域中。 @Sessi 阅读全文
posted @ 2018-04-09 17:22 Margaery 阅读(222) 评论(0) 推荐(0)
摘要:除了使用ModelAndView方式外。还可以使用Map、Model和ModelMap来向前台页面传值 使用后面3种方式,都是在方法参数中,指定一个该类型的参数。例如: Java代码 JSP页面 结果: 【推荐】:我们一般使用Map就可以了 本文转自:http://www.cnblogs.com/c 阅读全文
posted @ 2018-04-09 17:16 Margaery 阅读(261) 评论(0) 推荐(0)
摘要:ModelAndView 该对象中包含了一个model属性和一个view属性 model:其实是一个ModelMap类型。其实ModelMap是一个LinkedHashMap的子类 view:包含了一些视图信息 当视图解释器解析ModelAndVIew是,其中model本生就是一个Map的实现类的子 阅读全文
posted @ 2018-04-09 17:13 Margaery 阅读(207) 评论(0) 推荐(0)
摘要:具体看代码: 代码解析: 很明显,要使用Sevlet的一些API,只要直接将其作为参数传入即可。你需要request,就传入request, 需要session,就传入session。springmvc支持传入的Sevlet原生api一共有以下这些: 1. HttpServletRequest 2. 阅读全文
posted @ 2018-04-09 17:08 Margaery 阅读(206) 评论(0) 推荐(0)
摘要:有两POJO类 Address.java User.java JSP页面 控制器类: 测试: 1、进入jsp页面: 2、点击提交后,控制台输出 【总结】:这里对应address属性使用的是级联属性 POJO注入数组属性 上面我们看到hobby是一个多选项。那么可以将hobby设为一个String[] 阅读全文
posted @ 2018-04-09 17:05 Margaery 阅读(237) 评论(0) 推荐(0)
摘要:@CookieValue的作用 用来获取Cookie中的值 @CookieValue参数 1、value:参数名称 2、required:是否必须 3、defaultValue:默认值 @CookieValue使用案例 1、我们在index.jsp页面中创建cookie值 2、在控制器中 测试代码 阅读全文
posted @ 2018-04-09 16:55 Margaery 阅读(202) 评论(0) 推荐(0)
摘要:@PathVariable绑定URI模板变量值 @PathVariable是用来获得请求url中的动态参数的 @PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。//配置url和方法的一个关系@RequestMapping("item/{itemId}") /* @Re 阅读全文
posted @ 2018-04-09 16:50 Margaery 阅读(255) 评论(0) 推荐(0)
摘要:案例来说明 测试1 当我们请求路径为:http://localhost:8080/springmvc-1/user/add?name=caoyc&age=18 输出结果:caoyc,18 测试2 当我请求路径为:http://localhost:8080/springmvc-1/user/add?a 阅读全文
posted @ 2018-04-09 16:46 Margaery 阅读(188) 评论(0) 推荐(0)
摘要:下面用代码来演示@PathVariable传参方式 在@RequestMapping中请求路径,将需要传递的参数用{}括起来。通过@PathVariable("参数名称")来获取url中的参数值。要求@PathVariable中参数名称必须和url中参数名称一致 例如:访问 /user/1 对应id 阅读全文
posted @ 2018-04-09 16:35 Margaery 阅读(304) 评论(0) 推荐(0)
摘要:REST风格 /user/1 get请求 获取用户 /user/1 post请求 新增用户 /user/1 put请求 更新用户 /user/1 delete请求 删除用户 在Spring MVC中如何提交put和delete请求呢? 需要在web.xml文件中配置一个HiddenHttpMetho 阅读全文
posted @ 2018-04-09 16:35 Margaery 阅读(217) 评论(0) 推荐(0)
摘要:@RequestMapping 参数说明 value:定义处理方法的请求的 URL 地址。(重点) method:定义处理方法的 http method 类型,如 GET、POST 等。(重点) params:定义请求的 URL 中必须包含的参数。或者不包含某些参数。(了解) headers:定义请 阅读全文
posted @ 2018-04-09 16:34 Margaery 阅读(274) 评论(0) 推荐(0)
摘要:1、新建一个Java Web项目 2、导入jar包 3、在WEB-INF下面建一个hello.jsp页面。 4、配置web.xml文件 5、配置spring-mvc.xml文件 InternalResourceViewResolver:视图解析器。根据Url地址遭到找到文件资源 prefix:前缀 阅读全文
posted @ 2018-04-09 16:33 Margaery 阅读(200) 评论(0) 推荐(0)
摘要:我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能在服务器处理完毕后返回结果的时候挂掉,这个时候用户端发现很久没有反应,那么就会多次点击按钮,这样请求有 阅读全文
posted @ 2018-04-08 17:25 Margaery 阅读(214) 评论(0) 推荐(0)
摘要:本文要感谢我职级评定过程中的一位评委,他建议把之前所做的各种性能优化的案例和方案加以提炼、总结,以文档的形式沉淀下来,并在内部进行分享。力求达到如下效果: 1. 形成可实践、可借鉴、可参考的各种性能优化的方案以及选型考虑点,同时配合具体的真实案例,其他人遇到相似问题时,不用从零开始。 2. 有助于开 阅读全文
posted @ 2018-04-07 23:53 Margaery 阅读(1282) 评论(0) 推荐(0)
摘要:前言 “分布式队列编程”是一个系列文,之前我们已经发布了《分布式队列编程模型、实战》,主要剖析了分布式队列编程模型的需求来源、定义、结构以及其变化多样性;根据作者在新美大实际工作经验,给出了队列式编程在分布式环境下的一些具体应用。本文将重点阐述工程师运用分布式队列编程构架的时候,在生产者、分布式队列 阅读全文
posted @ 2018-04-07 23:51 Margaery 阅读(643) 评论(0) 推荐(0)
摘要:介绍 作为一种基础的抽象数据结构,队列被广泛应用在各类编程中。大数据时代对跨进程、跨机器的通讯提出了更高的要求,和以往相比,分布式队列编程的运用几乎已无处不在。但是,这种常见的基础性的事物往往容易被忽视,使用者往往会忽视两点: 使用分布式队列的时候,没有意识到它是队列。 有具体需求的时候,忘记了分布 阅读全文
posted @ 2018-04-07 23:47 Margaery 阅读(436) 评论(0) 推荐(0)
摘要:本文已发表于《程序员》杂志2017年第3期,下面的版本又经过进一步的修订。 前言 一般而言,现在互联网应用(网站或App)的整体流程,可以概括如图1所示,用户请求从界面(浏览器或App界面)到网络转发、应用服务再到存储(数据库或文件系统),然后返回到界面呈现内容。 随着互联网的普及,内容信息越来越复 阅读全文
posted @ 2018-04-07 23:45 Margaery 阅读(596) 评论(0) 推荐(0)
摘要:消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、Rocke 阅读全文
posted @ 2018-04-07 23:41 Margaery 阅读(489) 评论(0) 推荐(0)
摘要:#摘要序列化和反序列化几乎是工程师们每天都要面对的事情,但是要精确掌握这两个概念并不容易:一方面,它们往往作为框架的一部分出现而湮没在框架之中;另一方面,它们会以其他更容易理解的概念出现,例如加密、持久化。然而,序列化和反序列化的选型却是系统设计或重构一个重要的环节,在分布式、大数据量系统设计里面更 阅读全文
posted @ 2018-04-07 23:39 Margaery 阅读(484) 评论(0) 推荐(0)
摘要:摘要 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMa 阅读全文
posted @ 2018-04-07 23:34 Margaery 阅读(318) 评论(0) 推荐(0)
摘要:红黑树是平衡二叉查找树的一种。为了深入理解红黑树,我们需要从二叉查找树开始讲起。 BST 二叉查找树(Binary Search Tree,简称BST)是一棵二叉树,它的左子节点的值比父节点的值要小,右节点的值要比父节点的值大。它的高度决定了它的查找效率。 在理想的情况下,二叉查找树增删查改的时间复 阅读全文
posted @ 2018-04-07 23:22 Margaery 阅读(1331) 评论(0) 推荐(0)
摘要:MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系 阅读全文
posted @ 2018-04-07 23:10 Margaery 阅读(283) 评论(0) 推荐(0)
摘要:前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎 阅读全文
posted @ 2018-04-04 16:35 Margaery 阅读(392) 评论(0) 推荐(0)
摘要:一、数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。 √: 可能出现 ×: 不会出现 脏读 不 阅读全文
posted @ 2018-04-04 16:17 Margaery 阅读(834) 评论(0) 推荐(1)