学习日志
文章平均质量分 69
onion0715
一名编程学习者
展开
-
如何利用动态代理技术构建一个通用的,获取代理类的简单框架?
首先,要实现代理需要三个基本要素1. 代理目标:要为哪个类构建代理2. 通告方法:需要在代理类中做那些事(传入一个对象,调用该对象的方法)3. 现在这些元素写在一个配置文件中,以便于更改 如下config.propertice className=java.util.ArrayList class.Advice=MyAdv原创 2014-10-09 23:12:17 · 515 阅读 · 0 评论 -
Java5新增的同步工具
java.util.concurrent包中的同步工具CyclicBarrier ,一个同步辅助类,它允许 一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier.原创 2015-04-11 19:41:54 · 554 阅读 · 0 评论 -
Netty是如何实现线程和Channel唯一绑定的
netty的线程模型对一个channel来说是单线程的,也就是说这个channel的所有读写事件都是同一个线程执行的,避免了多线程产生的并发问题.而一个eventloop是可以被多个channel绑定的,那么每次服务器连接一个channel之时,netty时如何知道使用哪个线程的呢?本文描述背景假设对netty的使用比较熟悉,例如 ChannelContext,ChannelPipeline,...原创 2018-11-25 18:57:04 · 10846 阅读 · 0 评论 -
Jackson2库基础用法-Java json 序列化
Jackson2库基础用法-Java json 序列化依赖<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> &原创 2018-11-25 11:54:52 · 706 阅读 · 0 评论 -
fastdfs-java-client 使用指南
fastdfs-java-client 使用指南#示例 package com.github.onion0715.example.fastdfs; import com.github.onion0715.example.AppConfig; import org.csource.fastdfs.*; import org.slf4j.Logger; import org.slf4...原创 2018-11-25 11:56:28 · 2245 阅读 · 0 评论 -
Netty ByteBuf
本文是使用Google翻译自: http://netty.io/4.1/api/io/netty/buffer/ByteBuf.html##类结构io.netty.bufferClass ByteBufjava.lang.Objectio.netty.buffer.ByteBuf所有实现的接口:ReferenceCounted,Comparable < ByteBuf >...翻译 2018-11-25 11:58:24 · 261 阅读 · 0 评论 -
Joda-time Example
joda-time: 是java实现的一个日期时间库,JDK7之前推荐使用,JDK8之后建议使用java.util.time包下的日期时间库站点:https://www.joda.org/joda-time/https://github.com/JodaOrg/joda-timeMaven: <dependency> &l...原创 2018-11-25 13:45:34 · 173 阅读 · 0 评论 -
Eclipse Memory Analyzer
下载独立安装版 Eclipse Memory Analyzerhttps://www.eclipse.org/mat/写了些啥?Eclipse Memory Analyzer 的介绍和使用说明.基本上是帮助文档的中文翻译版本什么是 Heap Dump ?Heap dump 的中文名称是 堆转储.堆转储是Java进程在某个时间点的内存快照。持久化此数据有不同的格式,根据格式的不同,它可能包...原创 2018-11-25 13:57:18 · 907 阅读 · 0 评论 -
Java单元测试框架介绍
分享内容单元测试框架 junit4:Java的单元测试框架基础套件简单介绍Mock框架 mockito: Java单元测试中的mock框架Mockito的扩展PowerMock: 给mockito提供扩展功能,mock静态方法,final方法.绕过封装:读写私有成员Xpath for Json : https://github.com/json-path/JsonPath, 简化测试中J...原创 2018-11-25 13:59:22 · 9372 阅读 · 0 评论 -
Java安全
安全性问题DDOS攻击 利用软件开发设计漏洞,进行低成本的攻击消耗服务器CPU,内存资源,例如哈希碰撞攻击,加密,解密,图形处理等计算密集型应用 不能靠用户合理使用解决安全问题 文件上传攻击,文件类型 大文件上传,病毒上传,拖垮服务器资源.用户是不可信的.文件上传次数限制. SQL注入渗透测试工具 sqlmap CSRF 漏洞 WEB开发中的问题,Spring Securit...原创 2018-07-19 15:12:00 · 93 阅读 · 0 评论 -
备忘录 - Spring Security 4.x
引用资料Spring Security 中文Spring Security 项目博客 Spring Security 认证架构博客 Spring Security 专栏说明本文适用于对 Spring Security 进行源码分析,里面都是按照我自己源码分析流程写的,是顺着源码分析思路阐述的,所以不会有很多结论性的文字(要看总结性文字的可以参考其他博客,这里需要自己去...原创 2018-05-06 15:32:00 · 171 阅读 · 0 评论 -
Java 可扩展安全体系导览
原始资料https://docs.oracle.com/javase/8/docs/https://docs.oracle.com/javase/8/docs/technotes/guides/security/index.html模块Java Cryptograp Architecture Java加密架构 JCA Java Cryptographic Extension...原创 2018-05-01 15:20:00 · 128 阅读 · 0 评论 -
日志:每个软件工程师都应该知道的有关实时数据的统一概念
https://www.oschina.net/translate/log-what-every-software-engineer-should-know-about-real-time-datas-unifyinghttps://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-...原创 2018-04-09 16:25:00 · 311 阅读 · 0 评论 -
Java系统架构-应用监控1
如果你所在的公司/团队还 没有应用监控基础设施 ,如何让系统在上线后及时知道发生了问题? 其中一个非常简单的方案就是对日志进行实时扫描监控.怎么做?不管你用的是什么框架,你的日志库应该可以设置日志级别.将日志级别打印在日志行的最开始.例如: [ERROR] xxx [WARN] xxx [INFO] xxx [DEBUG] xxx这样,你在...原创 2018-03-23 19:52:00 · 387 阅读 · 0 评论 -
Web Service 资料
web services 新手入门 WSDL教程 Web Service描述语言 WSDL 详解原创 2015-12-10 11:59:00 · 99 阅读 · 0 评论 -
Apache CXF 和 Spring 开发RESTful Web Service 2
开发环境MavenEclipseTomcat快速构建archetype太少?关于如何添加本地archetype catalog:下载文件 http://repo1.maven.org/maven2/archetype-catalog.xml设置Eclipse 首选项 Maven Archetype ,将archetype-catalog.xml 添加为Local catalog....原创 2018-12-01 15:05:16 · 206 阅读 · 0 评论 -
Apache CXF 和 Spring 开发 Web Service 1
正文为什么使用CXF本文段摘录自 http://www.ibm.com/developerworks/cn/webservices/ws-pojo-springcxf/index.htmlApache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器...原创 2018-12-01 15:06:39 · 200 阅读 · 0 评论 -
Java解析XML
Java解析XML 编辑者:洋葱 本文介绍了使用JAXP和DOM4J解析java的方法.原创 2015-04-06 15:40:42 · 428 阅读 · 0 评论 -
开启Maven使用之路
我觉得这是我学习生涯的一个里程碑,因为我开始注重代码管理与归档了,以前写程序都很烂,没注释,没文档.而且学习过的知识没有记录.我写博客,写学习笔记是从去年开始的,我觉得应该尝试记录所学,虽然到现在依然很烂,但是我感觉在进步,一切在变得有序.回顾学习路程,初中开始接触电脑玩游戏,直到大学才真正的使用电脑,大一接触C语言,大二开始专注Java.到今天学习程序设计两年了.两年的时间一半是在写程序上面的.接原创 2015-04-18 15:00:44 · 409 阅读 · 0 评论 -
黑马程序员--反射--利用反射获取方法名和字段名
/** * 需求: * 任意给出一个类名称,打印出类中的构造方法,成员方法,成员变量类型 * *解决方案: *由java的反射机制: 将一个java类的各种成分映射成java类 *如果获取了类中的方法,字段对象,就可以实现需求了. * *关键词: 反射 Class */原创 2014-10-10 21:55:29 · 549 阅读 · 0 评论 -
javaweb-通过servlet获取请求参数
本文介绍如何获取请求参数servlet容器在调用servlet时会传递请求对象ServletRequset给程序,只需要调用ServletRequset的方法getParameter()即可得到浏览器传递来的请求参数1.编写servlet原创 2014-11-13 21:14:42 · 1629 阅读 · 0 评论 -
javaweb-使用过滤器实现文本净化和字符转义
问题:在处理用户提交的内容时,可能会有一些特殊字符,显示这些内容时可能导致界面混乱;在用户评论中会有一些污言秽语,需要进行净化处理;我不想修改原有的程序实现字符替换,这该如何实现?解决方案:可以用过滤器解决问题,程序需要用到包装类,包装类是一种装饰器模式:不改变原有的类,为其添加新的功能;servlet提供了4个包装类ServletRequestWrapperH原创 2014-11-13 21:23:30 · 2338 阅读 · 0 评论 -
黑马程序员--反射--实现一个简单的集合操作框架
* 问题: * 已知一个Point类,如何从配置文件中获取具体的集合类,将一系列Point对象添加到集合,然后返回该集合? * 解决方案: * 由于具体集合类未知,所以不能直接编写操作方法,需要依据具体的集合称,生成字节码对象, * 再由字节码对象构造一个实例; * 这样就可以编写一个简单的框架,在未知具体类的情况下,将Point对象添加到集合中; * 关键词: 反射 Cl原创 2014-10-10 23:08:29 · 477 阅读 · 0 评论 -
javaweb-中文乱码问题解决方案
乱码问题的由来: 1.浏览器发送以本机平台字符编码的中文数据(GB2312).例如中文字符 "中"->(0xd6d0); 2.如果在web容器中接受数据时没有指定编码,web容器使用默认编码ISO-8859-1得到数据,由于0xd6d0在ISO-8859-1中找不到对应字符,所以显示乱码. 以post在接受数据之前使用: reques原创 2014-11-13 21:11:03 · 695 阅读 · 0 评论 -
javaweb-使用servlet实现文件下载
问题;使用servlet实现文件下载解决方案:1.准备下载文件,在本程序中准备了一个文本文件down1.txt和图片文件 美女.jpg ,放在/WEB-INF/download/目录下2.编写servlet ::FileDownload原创 2014-11-13 21:19:27 · 780 阅读 · 0 评论 -
黑马程序员--代理+AOP--实现一个类似spring的可配置的简单AOP框架
需求:实现一个类似spring的可配置的简单AOP框架;通过原创 2014-10-10 23:18:32 · 422 阅读 · 0 评论 -
开始
从今天开始,要一边学原创 2014-10-07 15:29:30 · 420 阅读 · 1 评论 -
黑马程序员--正则表达式--基本示例
package zhangweicong.regexDemo;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.Reader;import java.util.Lin原创 2014-10-13 23:43:33 · 555 阅读 · 0 评论 -
javaweb-servlet- ServletConfig与ServletContext
------------web调用服务器时传递给servlet的对象----------------4. ServletConfig对象(封装servlet创建时的配置信息) 该对象会在服务器创建servlet对象时,传递给servlet 在web.xml中的servlet中配置参数 可以通过语句获取值 : this.getServletConfig原创 2014-10-14 19:00:04 · 463 阅读 · 0 评论 -
javaweb--servlet--servlet的异常处理和线程安全简述
servlet异常处理1.声明式异常处理和程序式异常处理声明式异常处理格式 404或者java.io.FileNotFoundException /web/error.html//这是处理异常的页面链接通过这种方式可以很方便的处理一个异常,但是它需要为每一个异常都建立一个声明,非常繁琐。仅仅适合处理一些通用的异常。程序式处理异常在java原创 2014-10-17 09:24:42 · 627 阅读 · 0 评论 -
javaweb--RequestAndResponse--知识点摘要
一.Response-1.防盗链问题; 在获取浏览器请求时,判断请求来源,根据来源做相应处理. 例如:对于非本网站的来源,请求本网站资源,就跳到本网站主页去显示广告;;;0.response功能 主要向客服机写入数据,实现文件打开方式(下载,图片,视频,文本...) 一般来说,向客户机写入字符数据时,将输出流包装成PrintWriter会更方便原创 2014-10-17 12:30:00 · 518 阅读 · 0 评论 -
Servlet 3.0 新特性详解
张 建平, 架构师, iSoftStone Co., Ltd2010 年 4 月 23 日转载 2014-11-25 16:09:01 · 579 阅读 · 0 评论 -
算法-素数相关
素数定义: 整数p不等于0,正负1,正负p,且除了正负1,正负p外没有其他约数,那么称整数p为质数或者素数.如果不做特别说明,素数或质数指的是正整数中的质数或者素数.问题1:判断一个数是否为素数?朴素的素数判定方法是通过枚举从2-n^0.5 ,看它是否能整除n.时间复杂度为O(n^0.5)问题2:素数的筛法,列举不大于n的所有素数.介绍一个简单理解的算法让每个找原创 2014-12-22 13:39:51 · 493 阅读 · 0 评论 -
算法-全排列问题
背景-有一个字符串数组abcd,求这是个字母的所有排列.有数学知识可知全排列的结果为n!那么用程序如何列出这些排列呢?1.递归我们知道手工排列的话,肯定是按照顺序一步一变的.我们用(a,b)表示ab的全排列那么(a,b)=a(b)+b(a);同理:(a,b,c)=a(b,c)+b(a,c)+c(a,b)于是递归思想就出现了,具体参看下列算法(java版):原创 2014-12-22 13:43:38 · 430 阅读 · 0 评论 -
算法-回溯
回溯是一个非常重要的求解策略,简单来说就是通过不断的试探,返回来找到可行解.一.迷宫问题在迷宫问题中,我们用一个M*N的矩阵表示地图,0表示可行,1表示阻塞.回溯算法的描述1,使用栈:用-1表示该点已经查询过.假设地图周围有一圈不可走的封闭的墙 (全部=1)从一个起点开始,按顺时针方向查询该点下一个可走的范原创 2014-12-22 13:48:59 · 457 阅读 · 0 评论 -
javaweb--jdbc--数据库操作学习笔记
1.mysql 数据库的 jdbc url 形式 "jdbc:mysql://localhost:3036/databasename" 包含三个部分: 协议:子协议://子名称2.使用jdbc操作数据库的一般方法 第一步:加载驱动程序 driverClass=com.mysql.jdbc.Driver Class.f原创 2014-10-20 13:10:33 · 809 阅读 · 0 评论 -
JAXB 解决XML与JavaBean的互换
JAXB 解决XML与JavaBean的互换声明版权所有,转载请注明出处文章概要基于JAXB2 的xml bean 转换工具正文运行环境JDK,Dom4jJAXB 实现xml和javabean的编组和解组/** * 基于JAXB2 的xml bean 转换工具 * @author Administrator * */public class ...原创 2015-11-25 17:48:00 · 111 阅读 · 0 评论