自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java web知识框架梳理(九)

EL :为了消除jsp中的Java代码    详细手册可看博客  https://my.oschina.net/sunjun/blog/9024    语法:      ${EL表达式}      a.EL不需要导包      b.在EL中调用属性,其实是调用的getXxx()方法     ${范围.对象.属性.属性的属性 }    操作符:操作:属性,不是对象   点操作符...

2019-02-20 16:40:24 293

原创 Java web知识框架梳理(八)

1.纯手工方法创建第一个Servlet步骤:1.编写一个类,继承HttpServlet2.重写doGet()、doPost()方法3.编写web.xml 中的servlet映射关系2.借助于IDE快速生成Servlet直接新建Servlet即可!(继承、重写、web.xml  可以借助Eclipse自动生成)Servlet3.0,与Servlet2.5的区别:Servl...

2019-02-20 16:17:15 273

原创 Java web知识框架梳理(七)

JavaBean   JavaBean的作用:   a.减轻的代码复杂度     b.提高代码复用(比如以后任何地方的登录操作,都可以通过调用LoginDao实现)JavaBean:满足一下2点 ,就可以称为JavaBean    a.public 修饰的类  , public 无参构造    b.所有属性(如果有) 都是private,并且提供set/get   (如果boo...

2019-02-20 16:01:49 275

原创 Java web知识框架梳理(六)

1.jdbc总结(八股文):try{//a.导入驱动包、加载具体驱动类Class.forName("具体驱动类");//b.与数据库建立连接connection = DriverManager.getConnection(...);//c.写sqlString sql="****";//d.通过connection,获取操作数据库的对象stmt = connection.cr...

2019-02-20 15:44:41 223

原创 Java web知识框架梳理(五)

1.JDBC:Java DataBase Connectivity           可以为多种关系型数据库DBMS 提供统一的访问方式,用Java来操作数据库2.JDBC API 主要功能:     三件事,具体是通过以下类/接口实现:   DriverManager // 管理jdbc驱动    Connection //连接(通过DriverManager产生)...

2019-02-20 15:37:51 236

原创 Java web知识框架梳理(四)

session:a. session存储在服务端b. session是在 同一个用户(客户)请求时 共享c. 实现机制:第一次客户请求时 产生一个sessionid 并复制给 cookie的jsessionid 然后发给客户端。最终 通过session的sessionid-cookie的jsessionidsession方法:String getId() ;//获取sessionI...

2019-02-20 14:52:18 205

原创 Java web知识框架梳理(三)

1.responseresponse :响应对象,服务端提供的方法:void addCookie( Cookie cookie ); //服务端向客户端增加cookie对象void sendRedirect(String location ) throws IOException; //页面跳转的一种方式(重定向)void setContentType(String type);...

2019-02-20 11:53:12 289

原创 Java web知识框架梳理(二)

1.使用Eclipse开发Web项目(JSP项目)  tomcat 2. 在Eclipse中创建的Web项目:      注意!!!!浏览器可以直接访问 WebContent中的文件,      例如http://localhost:8080/MyJspProject/index1.jsp,其中的index1.jsp就在WebContent目录中;      但是WEB-INF中的...

2019-02-20 11:13:19 380

原创 Java web知识框架梳理(一)

1.JSP:动态网页静态、动态:1.静态网页和动态网页 并不是看上去字面意思的是否有动感2.静态网页和动态网页   的判断依据是 网页是否会随着 时间、地点、用户操作 的改变而改变动态网页 需要使用到 服务端脚本语言(JSP)jsp可以理解为在html中嵌套的java代码  2.架构常见的架构有CS 和BS,CS 即 Client ServerCS:Client Serv...

2019-02-20 10:40:11 4491

转载 转:关于 Java 中 finally 语句块的深度辨析

 可不能小看这个简单的 finally,看似简单的问题背后,却隐藏了无数的玄机。接下来我就带您一步一步的揭开这个 finally 的神秘面纱。问题分析首先来问大家一个问题:finally 语句块一定会执行吗?很多人都认为 finally 语句块是肯定要执行的,其中也包括一些很有经验的 Java 程序员。可惜并不像大多人所认为的那样,对于这个问题,答案当然是否定的,我们先来看下面这个...

2018-10-17 12:53:52 151

转载 Leaf——美团点评分布式ID生成系统

Leaf——美团点评分布式ID生成系统照东 ·2017-04-21 18:34背景在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一...

2018-08-07 17:11:20 671

原创 Spring Session学习笔记2

      这篇文章开始正式介绍Spring Session是如何对传统的Session进行改造的。官网这么介绍Spring Session:Spring Session provides an API and implementations for managing a user’s session information. It also provides transparent int...

2018-08-06 15:07:05 184

原创 Spring Session 学习笔记1

Session和Cookie这两个概念,在学习java web开发之初,大多数人就已经接触过了。最近在研究跨域单点登录的实现时,发现对于Session和Cookie的了解,并不是很深入,所以打算写两篇文章记录一下自己的理解。在我们的应用集成Spring Session之前,先补充一点Session和Cookie的关键知识。Session与Cookie基础由于http协议是无状态的协议,为了...

2018-08-06 15:02:19 143

原创 支付宝之私钥签名公钥验签

非对称加密算法。只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。 加密用公钥,解密用私...

2018-08-03 15:39:22 5207

原创 订单号生成规则的思考,twitter snowflake算法

snowflake算法snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0。   该算法实现基本就是二进制操作,...

2018-08-02 16:41:55 1972

原创 本地缓存之Guava cache

本地缓存之Guava cache缓存在现在的各种系统中的作用事不言而喻的,cache一般指为提高系统性能而开辟的一块内存空间,利用缓存不仅可以提高系统响应时间,还可以节省处理数据的资源消耗。现在有很多优秀的cache框架提供非常强大的功能,但是对于数据不是很大,数据结构简单的我们可以考虑本地缓存,Guava Cache是一个基于全内存的本地缓存实现,应该可以说是目前为止java实现本地缓存的不...

2018-08-02 11:59:05 1720

转载 HashMap与ConcurrentHashMap 详解

本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为。同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1.8中ConcurrentHashMap的实现原理。原创文章,转载请务必将下面这段话置于文章开头处(保留超链接)。本文转发自技术世界,原文链接 http://www.jasongj.com/ja...

2018-07-30 16:04:17 16751

原创 简述Spring容器与SpringMVC的容器的联系与区别

简述Spring容器与SpringMVC的容器的联系与区别  在Spring整体框架的核心概念中,容器的核心思想是管理Bean的整个生命周期。但在一个项目中,Spring容器往往不止一个,最常见的场景就是在一个项目中引入Spring和SpringMVC这两个框架,其本质就是两个容器:Spring是根容器,SpringMVC是其子容器。关于这两个容器的创建、联系及区别也正是本文所关注的问题。...

2018-07-28 19:24:23 186

原创 @RequestBody, @ResponseBody 注解详解

@RequestBody, @ResponseBody 注解详解简介: @RequestBody 作用: i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上; ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数...

2018-07-28 18:20:50 146

原创 SpringMVC框架--注解的处理器映射器和适配器

SpringMVC框架–注解的处理器映射器和适配器1.注解的处理器映射器 在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping注解映射器。 在spring3.1之后使用org.springframework.web.servlet.mvc.method.ann...

2018-07-28 16:35:00 208

原创 详述 Spring MVC 框架中拦截器 Interceptor 的使用方法

详述 Spring MVC 框架中拦截器 Interceptor 的使用方法1 前言   昨天新接了一个需要,“拦截 XXX,然后 OOO”,好吧,说白了就是要用拦截器干点事(实现一个具体的功能)。之前,也在网络上搜了很多关于Interceptor的文章,但感觉内容都大同小异,而且知识点零零散散,不太方便阅读。因此,正好借此机会,整理一篇关于拦截器的文章,在此分享给大家,以供大家参考阅读。...

2018-07-28 14:52:55 280

原创 Servlet的本质

 事实上,servlet就是一个Java接口,interface! 打开idea,ctrl + shift + n,搜索servlet,就可以看到是一个只有5个方法的interface! 那servlet是干嘛的?很简单,接口的作用是什么?规范呗!servlet接口定义的是一套处理网络请求的规范,所有实现servlet的类,都需要实现它那五个方法,其中最主要的是两个生命周期方...

2018-07-28 13:58:10 136

转载 Java三大器之拦截器(Interceptor)的实现原理及代码示例

Java三大器之拦截器(Interceptor)的实现原理及代码示例  1,拦截器的概念    java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。在AOP中,拦截器用于在某个方法或者字段被访问之前,进行拦...

2018-07-28 13:57:55 913

翻译 官方文档翻译:Tomcat Servlet交互简介

                                                                    Tomcat Servlet交互简介      尽管其灵活的配置和与支持技术的互操作性使Apache Tomcat在许多情况下都可以充当Web应用程序服务器,但Tomcat主要是一个Java servlet容器。     利用其Java Servlet和JS...

2018-07-27 16:54:49 307

转载 电商总结——如何打造一个小而精的电商网站架构

电商总结——如何打造一个小而精的电商网站架构  前面写过一些相关的文章,这几天有时间,就把之前写得网站架构相关的文章,总结整理一下。把以前的一些内容就连贯起来,这样也能系统的知道,一个最小的电商平台是怎么一步步搭建起来的。本文大纲: 小型电商网站的架构 日志与监控系统的解决方案 构建数据库的主从架构 基于共享存储的图片服务器架构 移动M...

2018-07-27 16:11:08 1073

转载 从All-In-One到SOA——技术及架构的演进过程(六)

从All-In-One到SOA——技术及架构的演进过程(六) 一些技术点事务单一数据库的时候,我们比较容易使用程序控制数据库事务,那么当数据库逐渐增加、分库分表的需求越来越多,我们将会面对很多的数据库,这时候使用程序控制 事务就会遇到很多问题,甚至原来很容易的事现在变的有些复杂了(如,当下单后商品减少、订单增加的情况,商品与订单分属不同的服务与数据库)。当然可以采 用分布式事务,但是...

2018-07-27 16:00:30 446

转载 从All-In-One到SOA——技术及架构的演进过程(五)

从All-In-One到SOA——技术及架构的演进过程(五) 服务化切换步骤准备首先要完成业务拆分、服务规划,前期规划的好,后期的开发、维护成本能降低很多。同时也要考虑到未来业务变化,尽管我们不能预计到可能会发生哪些变化,但是我们可以从架构设计上尽量做到灵活、适应能力强,能够再最短的时间内根据业务变换完成服务新增或调整。在切换前,要完成整体技术方案的论证、实验、测试,尤其在压力测...

2018-07-27 15:59:51 299

转载 从All-In-One到SOA——技术及架构的演进过程(四)

从All-In-One到SOA——技术及架构的演进过程(四) 业务拆分与服务化服务化的第一步就是要进行业务拆分,这是建立在对技术和业务都有深刻理解基础上的。每个公司的业务都有不同,所以拆分方案也不尽相同,我们可以参考所谓成功的大公司的方案,但是仅能作为参考而已,具体的拆分方式还是要从我们的实际情况出发,选择合适的方案进行。业务拆分是为了配合服务化过程的,服务化技术方案的选择仍然要选...

2018-07-27 15:59:10 263

转载 从All-In-One到SOA——技术及架构的演进过程(三)

从All-In-One到SOA——技术及架构的演进过程(三) 服务化演进过程之技术演进1 WebServer、数据库、文件从单一到分离此时的ORM工具、事务控制手段、简化CRUD是重要的关注点。职责分离,针对需求不同对服务器进行不同的配置(或采购),对应将依赖程度较高。2 页面缓存、数据缓存为了提高响应速度和避免不必要的请求,增加了页面缓存;为了应对有限的I/O资源,增加了...

2018-07-27 15:58:17 246

转载 从All-In-One到SOA——技术及架构的演进过程(二)

从All-In-One到SOA——技术及架构的演进过程(二) 服务化演进过程之架构演进随时间的发展,用户量逐步甚至是爆发性的增长,这样就给网站的承载能力带来了极大的挑战,必须探索新的架构方式以适应在用户增长后对网站响应速度、界面友好等方面的需要。因此促生了网站架构的几次大变迁。1 单一应用在诞生之初始,应用与数据库是部署在同一台机器上,这时的用户量、数据量规模都比较小,这样的架构...

2018-07-27 15:57:42 217

转载 从All-In-One到SOA——技术及架构的演进过程(一)

从All-In-One到SOA——技术及架构的演进过程(一) 为什么会有这种变化历史的选择在企业初创时,生存是要考虑的第一要务,这个时候对技术的关注度有限,但作为技术人员,需要考虑技术的现状、未来的发展,视野要宽,思路要广,但是也要接地气,能快速实现业务功能。高大上的架构、结构固然好,但是有其适用范围。冲锋枪得杀伤力固然大,但是打蚊子的效果有限。所以在任一时期选择合适自己公司发展...

2018-07-27 15:56:43 462

原创 电商项目 单点登录梳理

一、单系统登录机制1、http无状态协议  web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系  但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必...

2018-07-27 15:05:29 4011

原创 Session 和Cookie

 1.由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。...

2018-07-27 14:43:25 104

原创 Spring Boot学习笔记5

Spring Boot中Web应用的统一异常处理 我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。选择一个之前实现过的Web应用(Chapter3-1-2)为基础,启动该应用,访问一个不存在的URL,或是修改处理内容,直接...

2018-07-26 21:15:13 182

原创 Spring Boot学习笔记4

Spring Boot开发Web应用 Spring Boot快速入门中我们完成了一个简单的RESTful Service,体验了快速开发的特性。在留言中也有朋友提到如何把处理结果渲染到页面上。那么本篇就在上篇基础上介绍一下如何进行Web应用的开发。静态资源访问在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。默认配置Spring Boot默认提供静...

2018-07-26 21:08:45 109

原创 Spring Boot学习笔记3

首先,回顾并详细说明一下在快速入门中使用的@Controller、@RestController、@RequestMapping注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容。@Controller:修饰class,用来创建处理http请求的对象 @RestController:Spring4之后加入的注解,原来在@Controller中返回...

2018-07-26 21:02:56 112

原创 Spring Boot学习笔记2

Spring Boot属性配置文件详解 自定义属性与加载我们在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,我们可以如下方式直接定义: com.didispace.blog.name=程序猿DDcom.didispace.blog.title=Spring Boot教程 然后通过@Value("${属性名}")注解来加载对应的配置属性,...

2018-07-26 20:57:14 128

原创 Spring Boot快速入门

Spring Boot快速入门 简介在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用!Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个...

2018-07-26 20:30:52 87

转载 架构演进的思考

高大上的淘宝架构我们以淘宝架构为例,了解下大型的电商项目的服务端的架构是怎样,如图所示上面是一些安全体系系统,如数据安全体系、应用安全体系、前端安全体系等。中间是业务运营服务系统,如会员服务、商品服务、店铺服务、交易服务等。还有共享业务,如分布式数据层、数据分析服务、配置服务、数据搜索服务等。最下面呢,是中间件服务,如MQS即队列服务,OCS即缓存服务等。图中也有一些看不到,例如...

2018-07-26 19:58:55 161

原创 Linux常用命令整理

Linux基础之常用命令篇  一、命令的基本格式[root@localhost~]root为用户名~表示当前所在位置localhost主机名‘#’超级用户'$" 普通用户命令的基本格式:命令 [选项] [参数]二、查询目录的内容命令格式:ls [选项][文件或目录]选项:-a 所有文件-l 查看详情-d查看目...

2018-07-26 10:15:19 148

matlab图像处理

2017-05-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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