- 博客(29)
- 资源 (9)
- 收藏
- 关注

原创 分布式架构中的事物思考
对于目前的的分布式架构来说,存在三种调用方式:1: rpc方式prc方式也是目前比较常用的方式比较成熟的rpc调用框架dubbo,HSF,spring cloud 等框架,这这类框架的调用中,调用方的事物和实现方的事物是分开的,在这种情况下,如果要实现事物一致性,需要如何做呢?针对这个问题从两个方面来考虑:1: 本地事物一致性本地事物一致性这个就不说了,针对单数据库的jdb...
2019-03-14 16:04:49
293

原创 spring boot 五中类型通知及统一日志处理
引言Spring AOP是一个对AOP原理的一种实现方式,另外还有其他的AOP实现如AspectJ等。AOP意为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,是OOP面向对象编程的一种补足。它是软件开发中的一个热点技术,Spring AOP 也是Spring框架的核心特性之一(另一个核心特性是IOC)。通过AOP技术,我们希望实现一种通用逻辑的解耦,解...
2019-03-11 17:45:30
1588

原创 redis 缓存对象的实现原理
截止到目前为止,在redis官方的文档和实现里面并没有针对object 对象缓存的方法,然而,在我们的实际开发需要中,在很多时候我们是需要进行对象缓存的,并且可以正确的读取出来! 在笔者正在开发的红包项目中,针对每天红包就需要使用的对象缓存,并可以随时修改缓存对象中的红包数量值等信息!那么具体实现呢? 在官方提供的方法中,我们找到了有这么一个操作方法: jedi...
2018-05-21 09:22:46
37113
1
原创 spring boot到底是怎么启动的
war包情况下,spring boot 是怎么加载的?图解:我们查看spring-web.jar包:/META-INF/services/javax.servlet.ServletContainerInitializer文件内容:org.springframework.web.SpringServletContainerInitializer :实现ServletContain...
2019-06-17 10:17:03
7167
原创 java servlet3.1规范解读系列九:共享库 运行时可插拔性 ServletContainerInitializer
这这里首先说明下什么是java的SPI机制:spi 的英文全称:Service Provider Interface 单从字面可以理解为Service提供者接口,正如从SPI的名字去理解SPI就是Service提供者接口;我对SPI的定义:提供给服务提供厂商与扩展框架功能的开发者使用的接口。通俗来讲:就是java 自从javaservlet3.0版本之后提供了一种接口用于和具体实现做分离...
2019-06-17 10:09:44
487
原创 java servlet3.1规范解读系列八:session 和cookies
会话超文本传输协议(HTTP)被设计为一种无状态协议。为构建有效的 Web 应用,必须与来自一个特定的客 户端的请求彼此是相互关联。随时间的推移,演变了许多会话跟踪机制,这些机制直接使用对程序员而言 是困难或麻烦的。 该规范定义了一个简单的 HttpSession 接口,允许 servlet 容器使用几种方法来跟踪用户会话,而不会使应用 开发人员陷入到这些方法的细节中。会话跟踪机制 ...
2019-06-05 11:13:55
351
原创 说说bug,及代码优化
说起bug,这个伴随程序员一生的名词,在it行业,应该没有人对他陌生!做开发多年,见过各种各样的bug,也见过很多对bug的优秀解决方案!这里仅仅说下我自己对bug的产生,及优化的理解!首先对bug的理解: 不能达到预期效果的程序代码,统统可以称之为bug!这里说的不能达到预期效果比如说: 执行报错,结果不符合,无结果等等对bug,我分为以下几类:1: 书写bug2: ...
2019-06-03 11:37:49
1520
原创 java servlet3.1规范解读系列七:filter
过滤器过滤器( Filter)是 Java 组件, 允许运行过程中改变进入资源的请求和资源返回的响应中的有效负载和 header信息。本章描述了 Java Servlet v3.0 API 类和方法,它们提供了一种轻量级的框架用于过滤动态和静态内容。还描述了如何在 Web 应用配置 Filter,它们实现的约定和语义。6.1 什么是过滤器过滤器是一种代码重用的技术,它可以改变...
2019-05-31 15:16:22
450
原创 java servlet3.1规范解读系列六: web安全之spring secret 处理
Spring Security是通过自定义的Filter对相关的URL进行权限控制,这些个filter组合起来通过两个过程对权限进行了控制,认证(authentication)和授权(authorization)。认证是来识别当前用户是谁的过程,授权是判断当前用户是否有权限进行相关操作的过程。认证(authentication)认证的过程相对简单,基本都是判断当前正在操作的用户(Princ...
2019-05-31 10:05:06
1246
转载 【架构师之路】集群/分布式环境下5种session处理策略
在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这时候B服务器并不存在Session,所以就会将用户踢...
2019-05-29 16:28:41
215
原创 java servlet3.1规范解读系列六:安全模块
规范中提供的安全处理,在我的理解中只是提供了一种安全控制的思路,并不是真实可用的所以在这里就仅仅介绍下规范中安全的相关定义,然后在结合spring Security 说下web安全认证的整个处理安全应用开发人员创建 Web 应用,他给、销售或其他方式转入应用给部署人员,部署人员覆盖安装到运行时环境。应用开发人员与部署人员沟通部署系统的安全需求。该信息可以通过应用部署描述符声明传达...
2019-05-29 16:26:17
640
原创 微信提示打开浏览器js代码
话不多说,直接上代码/*核心css*/.wxtip{background: rgba(0,0,0,0.8); text-align: center; position: fixed; left:0; top: 0; width: 100%; height: 100%; z-index: 998; display: none;}.wxtip-icon{width: 52px; heig...
2019-05-29 16:22:16
3047
原创 java servlet3.1规范解读系列五:Response
Response响应( response)对象封装了从服务器返回到客户端的所有信息。在 HTTP 协议中,从服务器传输到客户端的信息通过 HTTP 头信息或响应的消息体。5.1 缓冲Servlet 容器允许但不必为了提高效率而缓冲到客户端的输出。典型的服务器默认都是缓冲的,但允许 servlet指定缓冲参数。ServletResponse 接口的如下方法允许 servlet 访问和...
2019-05-14 15:25:29
715
原创 分布式架构下序列实现
在最近的项目中,因为序列的问题,造成部分数据丢失,因此仔细思考了下载分布式环境下如何使用序列问题!下面分几类情况说明下。一、 数据量较小的应用面对数据量较少的应用单个数据库既可以解决问题,那么针对序列来说,依靠数据库本身的序列既可以实现。(mysql此类没有序列的数据库,一样有对应的方法来实现类似序列的功能)二、 大量数据的应用针对数据量比较大的情况,多数企业对数据库的选择,最...
2019-05-14 14:59:20
770
原创 java servlet3.1规范解读系列四:Request
因Request章节规范中描述较多,这里不再摘录规范了,仅吧重要的规范拿出来说下先说下http的消息格式:<method> <request-URL> <version><headers><entity-body>HTTP 请求分为三个部分:状态行、请求头、消息主体Request请求对象封装了客户端请求的...
2019-04-04 16:32:35
315
原创 java servlet3.1规范解读系列三:servlet映射
映射请求到 ServletWeb 容器需要本章描述的映射技术去映射客户端请求到 Servlet(该规范 2.5 以前的版本,使用这些映射技术是作为一个建议而不是要求,允许 servlet 容器各有其不同的 schema 用于映射客户端请求到 servlet)。12.1 使用 URL 路径在收到客户端请求时, web 容器确定转发到哪一个 Web 应用。选择的 Web 应用必须具有最...
2019-04-03 15:22:51
341
原创 java servlet3.1规范解读系列二:servlet接口 异步补充
关于servlet 异步处理,可以参考下面这个blog,文章是给予3.0规范的https://blog.youkuaiyun.com/fuzhongmin05/article/details/73518874在3.1规范中增加了io操作的异步处理可以参考下面这篇文章:https://www.cnblogs.com/davenkin/p/async-servlet.html这两篇文章写...
2019-04-02 16:40:27
359
原创 java servlet3.1规范解读系列二:servlet接口
在开始本章节内容之前,先看下如下代码:<servlet><servlet-name>SpringDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>&l...
2019-04-02 15:03:50
503
原创 java servlet3.1规范解读系列一:servlet概述
1.1 什么是 Servlet?Servlet 是基于 Java 技术的 web 组件,容器托管的,用于生成动态内容。像其他基于 Java 的组件技术一样,Servlet 也是基于平台无关的 Java 类格式,被编译为平台无关的字节码,可以被基于 Java 技术的 web server动态加载并运行。容器,有时候也叫做 servlet 引擎,是 web server 为支持 servlet 功...
2019-04-01 17:16:06
1094
原创 java servlet3.1规范解读系列:写在前面的话
从毕业开始到现在,已经有了近十年的工作经验了,一直从事的都是关于web开发方面的工作,知识一直在累积,也学习过很多框架。在学习各种各样的框架中,总结出来了一些学习规律:我认为学习分为三个阶段:1: 知其然在学习框架的时候,首先需要做的就是用。在这个阶段,需要掌握的是怎么正确用!每一个框架,每一个组件,细化到每个类,每个方法的使用,这是一个从粗到细的一个过程。打个比方,我们都知道spin...
2019-04-01 16:16:10
181
原创 java锁及线程锁、分布式锁的实现
前言最近在做的项目中,需要从数据库中批量读取记录,然后供分布式应用进行读取一条记录,处理后删除。因系统是分布式的,如何保证缓存中一条数据被使用一次,如何保证数据不做重复入缓存,在这方面做了下研究,及思考,分享给各位!首先对于锁先做一个说明:悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系...
2019-03-29 16:42:21
1115
转载 Spring boot 集成rocketMQ 官方文档
RocketMQ-Spring原文地址:https://github.com/apache/rocketmq-spring/blob/master/README_zh_CN.md帮助开发者在Spring Boot中快速集成RocketMQ。支持Spring Message规范,方便开发者从其它MQ快速切换到RocketMQ。如何贡献和帮助社区我们永远欢迎开发者的帮助来使这个项目...
2019-03-14 11:35:49
8764
4
原创 spring boot 三种类型事物实现说明
首先需要了解的是spring boot 对事物的分类1: JDBC 事物引入依赖包spring-boot-starter-jdbcjdbc事物是传统方式,直接连接数据库进行操作。需要增加配置spring.datasource.url=jdbc:mysql://localhost/testspring.datasource.username=dbuserspring....
2019-03-13 17:51:44
1210
原创 JDBC事物、分布式事务总结
对java 事务的总结网上的文章对于java事物的总结,针对性太强,造成对java 全局性概念理解上存在问题,这里总结了下目前网上对java事物的相关解说,应该算是比较全面的了,希望对大家有些帮助!一、ava事务的定义首先,说说什么事务。我认为事务,就是一组操作数据库的动作集合。事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为...
2019-03-13 10:18:30
704
转载 spring boot与spring mvc的区别是什么?
Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML...
2018-03-01 09:18:27
231
原创 自动设置ip的dns的window脚本
:start@ title 脚本设置IP@echo 王安@echo By Ccfox , some rights reserved @echo --------------------------------------------- @echo 正在设置 本地连接 的IP,请耐心等待!@echo off set NIC=/"本地连接/" set IP=/"10.207.10.38/"
2011-06-15 09:07:00
904
原创 编译原理 词法分析
#include #include #include #include #include #include #include using namespace std; //用来存储目标文件名 string file_name; //提取文本文件中的信
2010-04-20 14:40:00
699
原创 汇编中进制间的转换
本程序通过编译,运行正确Code Segment Assume CS:Code,DS:CodeCR equ 000DHLF equ 000AHKBBack equ 0008H; -----------------------------------------; 功能:显示指定地址(Str_Addr)的字符串; 入口:; Str_Addr
2010-04-20 14:38:00
787
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人