- 博客(53)
- 资源 (9)
- 收藏
- 关注
原创 【jraft】0-源码分析计划
前言jraft是蚂蚁金服开源的基于java实现的raft算法的生产及工具库。基于该工具库,我们可以实现具备分布式一致性能力的上层业务应用。目标通过学习阅读jraft开源代码的过程,更好的了解raft协议。学习jraft在实现raft协议过程中的实现,提升自己在高性能网络编程、多线程编程的一些经验。并能够学习到一些具体的编程技巧和程序的架构设计。通过阅读源码,尝试参与到jraft的开源计划中,提交一些bug修改和优化代码。行动计划 输出源码分析文章,文章按照raft的模块拆分顺序来编写。
2021-03-08 20:25:09 721 1
原创 arthas 运维工具介绍与原理分析
目录arthas是什么?他能帮我们做什么?arthas使用举例arthas 实现这些功能的原理分析新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLow...
2020-03-29 22:51:35 2188 2
原创 activity之间参数传递&&获取activity返回值&&activity生命周期
Activity之间参数传递A activity想将参数传给B activity时可以利用Intent将消息带过去 Intent intent = new Intent(this,BActivity.class); intent.putExtra("xxxx", "xxxx");数据量多的话可以使用 Bundle bundle = new
2014-11-12 22:32:36 2376
原创 几种常见的xml解析方式 SAX,DOM,PULL以android为例
准备工作首先是一个person.xml文件 allen 36 james 25 对应的JavaBeanpublic class Person { private Integer id; private String name; private Short age; public Integer getId() { retu
2014-10-25 22:39:46 1506
原创 android文件读写的相关问题
如果我们应用在当前包下创建了一个文件,并且我们希望别的应用程序 可以访问我们的文件 一定要指定文件的权限 Context.MODE_WORLD_READABLE|Context.MODE_WORLD_WRITEABLE如果我们不希望别人修改,访问你的数据Context.MODE_PRIVATE如果我们希望每次存取数据 都是以追加方式(该方式只是一种文件添加的策略并非读
2014-10-22 22:33:44 885
转载 使用java正则表达式提取文本中所有邮箱地址
package net.oschina.tester; import java.io.File;import java.io.IOException;import java.util.regex.Matcher;import java.util.regex.Pattern; import org.apache.commons.io.FileUtils; /** * 提取邮件地址
2014-09-14 22:23:27 6702
转载 String,StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常
2014-09-14 17:37:54 629
原创 spring事务 整理
spring的事务本质上来说还是spring的aop不过,在aop中事务类,也就是切面类是我们提供的,但在spring事务中,事务是由spring提供的。spring针对不同的数据库开发框架,启用了不同的事务如jdbc中由datasource管理connection 在hibernate由sessionfactory 管理session(相当于对connection的封装)
2014-09-12 10:00:35 987
原创 spring aop 整理
aop常见概念 1、切面 事务、日志、安全性框架、权限等都是切面(就是类,事务有事务类,日志有日志类,权限有权限类) 2、通知 切面中的方法就是通知(类中针对目标方法所要插入的方法,即事务类中执行事务的方法,日志类中执行日志操作的方法) 3、目标类 (你想要侵入修改的方法所在的类,诸如我们想在查询存款时加入一些其他操作,存
2014-09-11 22:54:56 1015
原创 spring使用注解进行DI(依赖)注入
使用@Resource: 使用方法: 1、在spring的配置文件中导入命名空间 xmlns:context="http://www.springframework.org/schema/context" http://www.springframework.org/schema/context http://www.spri
2014-09-10 21:21:55 2361
转载 OGNL表达式原理
一、OGNL表达式基础知识 1. 示例:第一个OGNL程序 2. 示例:上下文环境中使用OGNL 3. 示例:使用OGNL调用方法 4. 示例:使用OGNL操作集合 5. 示例:使用OGNL过滤集合与投影集合二、OGNL与Struts2 OGNL表达式 OGNL,全称为Object-Graph Navigation
2014-09-07 22:32:21 1006
转载 tomcat责任链设计模式 FilterChain原理解析
今天晚上花了些时间debug了下tomcat,注意观察了下tomcat内部过滤器的实现,其实tomcat内部过滤器采用了责任链的设计模式,(其实struts2拦截器那一块采用了相似的设计模式),以下是个人对源码的解读,ApplicationFilterChain详解首先是对该类的定义的介绍/** * Implementation of javax.servlet.FilterChai
2014-09-05 22:54:48 9047 3
转载 cookie操作陷阱(除了getName(),getValue()外,不要妄图得到其他信息)
在读取Cookie,然后操作时,除了getName(),getValue()外,不要妄图得到其他信息,如下方法不会得到值的:cookie.getMaxAge();cookie.getDomain();。。。因为,客户端传来的时候,就只剩下key和value了。 Java中的Cookie操作: 在Java中利用Serlvet或者JSP scriptl
2014-09-04 22:56:23 7327
转载 jsp九大内置对象 page与pageContext的区别
① out - javax.servlet.jsp.jspWriter out对象用于把结果输出到网页上。方法:1. void clear() ; 清除输出缓冲区的内容,但是不输出到客户端。2. void clearBuffer() ; 清除输出缓冲区的内容,并输出到客户端。3. void close() ; 关闭输出流,清除所有内容。4. vo
2014-09-04 22:40:50 4986
转载 java el简介及用法
EL简介语法结构 运算符等资料代码。一、EL简介 1.语法结构 ${expression} 2.[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。例如: ${user.My-Name}应当改为${user["My-Name"] } 如果要动态取值时,就可以用[]来做
2014-09-03 19:36:24 885
转载 JSP页面的动态包含和静态包含示例及介绍
这篇文章主要介绍了JSP页面的动态包含和静态包含示例及介绍,本文讲解了它们的区别并给出了相应例子,需要的朋友可以参考下一、静态包含本文介绍JSP静态包含语句,即使用JSP的include指令来完成的包含操作。JSP中,有两种包含其它文件的方式,一种是静态包含,一种是动态包含。本文介绍其中的静态包含。所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来
2014-09-02 21:26:24 3301
原创 servlet路径映射优先顺序
一个Servlet可以配置多个url-pattern URL 配置格式 三种:1、完全路径匹配 (以/开始 ) 例如:/hello /init 2、目录匹配 (以/开始) 例如:/* /abc/* / 代表网站根目录 3、扩展名匹配 (不能以/开始) 例如:*.do *.action 典型错误 /*.do 在浏览器中 访问的优先级顺序为:优先级:完全
2014-08-27 16:39:25 1866
原创 tomcat压缩优化和缓存策略
tomcat的压缩优化就是将返回的html页面等内容经过压缩,压缩成gzip格式之后,发送给浏览器,浏览器在本地解压缩的过程。tomcat缓存策略
2014-08-27 15:31:36 4009
转载 JSP EL表达式详细介绍
为了使JSP写起来更加简单。 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。一、JSP EL语言定义 E L(Expression Language) 目的:为了使JSP写起来更加简单。 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在
2014-08-26 10:57:23 553
转载 java路径整理
1、java项目 1 File file = new File(""); * 使用java命令,输出路径是,当前java命令停留的盘符 * F:\workspaces\20120909\day06_java\bin * 使用myeclipse或eclipse运行时
2014-08-19 20:48:24 663
原创 关于继承时子类重写父类方法和覆盖父类变量的若干问题 (待进一步研究)
只有几种情况可以解释这种结果1.this并不指向son在堆中创建的实例2.创建对象时内存中使用了其他机制来保证这种结果的生成。翻看了一下《深入理解Java虚拟机 JVM高级特性与最佳实践》这本书 似乎得出了一些端倪由此可见当访问成员变量时,检测到父类的成员变量之后程序停止继续寻找。对于方法,由于其内容存放在方法区内,每个对象的发放应该是通过其自身的this即引用唯一绑定。故就差不多解释的通了。
2014-08-18 22:02:31 6709 2
原创 java访问控制符
当修饰符修饰成员变量和方法时:private(当前类访问权限):自身的private只能在当前类的内部被访问。例子说明: class Circle{ private static double pi = 3.14; private double radius; public Circle(double r){ radius = r; } //获得圆数组中半
2014-08-17 20:43:54 1144
原创 java类加载机制
简单讲一下各个区域 程序计数器:当前线程所执行的字节码的行号指示器,循环,线程恢复等基础功能依赖这个计数器完成(线程私有,每一个线程都会有自己单独的一个计数器)。 本地方法栈:与java虚拟机栈相似,不过执行的是native方法。 方法区(包含运行时常量池):各个线程共享的区域,它用于已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。 java虚拟机栈:也是线程私有的,生命周期与线程相同 每个方法执行时都会创建一个栈帧(一会儿会详细讲到)结构是栈结构,先进后
2014-08-11 16:39:49 975
转载 Struts2 用 s:if test 判断属性和字符串相等时 注意双引号和单引号的使用
字符串N一定要用“”双引号包含,从test的包含则用单引号 ‘ ’,如果相反,则不能正确判断该属性是否与该字符串相等。正确:错误:因为java是强类型语言,单引号表示char类型,只能赋给一个字符给char类型,而双引号则表示String类型所以我的activityBean.searchForce属性是String类型,那么N必须要用双引号/
2014-07-11 21:35:02 762
转载 Hibernate 多对多关联关系 中间表有多个字段如何配置
Hibernate多对多关系中间表有其他属性的配置方式一、需求原因在我做系统架构时遇到情况是这样:资源菜单实体类(Resource)和角色实体类(Role)是多对多关系,需要各个角色可以个性化自己的资源菜单顺序。二、设计理念多对多的关系拆分为两个一对多(以下为关系映射图)三、具体配置方式一:XML方式Role实体public class Role imple
2014-03-26 09:21:46 1584
原创 hibernate缓存机制
一级缓存(session缓存) 1、生命周期就是session的生命周期 2、一级缓存存放的数据都是私有数据 把session存放在threadlocal中,不同的线程是不能访问的,所以保证了数据的安全性 3、怎么样把数据存放到一级缓存中 利用session.save/update/load/get方法都可以存放在一级缓存中 4、利用session.get/load方法可以把数据从一级缓存中取出 5、session.evict方法可以把一个对象从
2014-03-09 22:59:50 1537
原创 hibernate的抓取策略和懒加载
抓取策略应用的范围及作用: 主要用于set集合对象在提取数据时对hibernate底层的sql语句的操作,即由一个对象对关联对象查询,发出怎样的sql语句的机制。总结:懒加载主要解决了一个问题:类、集合、many-to-one在时候发出SQL语句,加载数据
2014-03-09 22:03:37 1569
原创 hibernate映射关系之多对多
多对多: * 关系在第三张表中,和两张表本身没有关系 * 多对多谁维护关系:谁都能维护关系(效率是一样的),一般情况下可以通过页面 来体现 * 关系体现: 第三张表的维护:增加、删除course类对应的映射文件<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Ma
2014-03-09 09:19:51 1694
原创 hibernate中的对象状态以及在编程中的常见错误汇总
在hibernate框架中,javabean对象大致可分为三种。1.临时对象,2.持久化对象,3.托管对象。其中当持久化对象的属性值发生改变时,数据库内的数据会同时发生改变hibernate编程中常见的错误汇总
2014-03-07 22:16:30 1095
原创 hibernate配置文件,映射文件
hibernate: 优点和缺点 优点: * 数据缓存 * 面向对象编程 * 代码操作比较简单 缺点: * 大量的数据条件下不适合用hibernate * 程序员对于hibernate生成的sql语句不可控 程序员不能干预hibernate生成sql语句, 所以在sql语句优化比较高的项目中, hibernate也是不适合的
2014-03-07 14:51:34 1710
原创 基于struts2的令牌拦截器,防止表单重复提交
* 在页面中增加一个隐藏域,该隐藏域一定要放到form表单内:<s:token></s:token>其原理为,当生成页面之后,会生成一个隐藏域该隐藏域的值第一次提交时会存在session中,再次提交时,与session中的struts.token比较,一旦一致,则证明该表单已经重复提交过* 创建一个struts.xml的配置文件,具体配置如下:
2014-03-03 10:57:06 2174
原创 基于struts2的模型驱动示例
* 模型驱动的原理: * 在不使用模型驱动的时候,之所以在动作类中获取不到对应的属性的原因: * 在ValueStack中没有对应javabean的所有属性 * 模型驱动的作用,就是将javabean的实例压入对象栈的栈顶,从而可以获取到对应的属性的值
2014-03-03 10:51:20 2006
原创 基于struts2的校验示例
* 针对所有业务方法进行验证还是针对某个指定业务方法进行验证? * * 重写的validate()方法,针对所有业务方法进行验证 * * 重写的validate()方法加上要验证的指定的业务方法名(业务方法名的首字母大写),实现针对某个指定的业务方法进行验证 * 如该方法只想校验login方法 则这样写方法名validateLogin(); * 为什么要这样进行拼接?因为struts2框架底层拼接,如果不这样写,底层就找不到对应方法名
2014-03-01 20:39:50 1150
原创 基于struts2的文件上传示例
在webroot文件夹下创建fileupload文件夹单文件上传:上传页面: My JSP 'index.jsp' starting page <form action="${pageContext.request.contextPath}/upload/uploadAction_saveFile.action"
2014-03-01 15:41:09 1450
Spark快速大数据分析.pdf 高清 完整 带标签 PDF
2017-09-17
spring课程
2014-09-12
Spring技术内幕深入解析Spring架构与设计原理(第2版)带完整书签
2014-09-10
黑客与画家pdf
2014-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人