自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

当你的才华还撑不起你的野心时,请静下心继续学习

  • 博客(206)
  • 资源 (11)
  • 收藏
  • 关注

原创 读书· 深入理解Java虚拟机

前言Java内存区域运行时数据区1.程序计数器2.Java虚拟机栈3.本地方法栈4.Java堆5.方法区内存溢出和垃圾回收1.内存溢出2.垃圾回收3.内存分配与回收策略虚拟机类加载机制1.加载2.验证3.准备4.解析5.初始化前言撰文之前看到一段话,颇为喜欢,任性的写在这里:“入楼十七日,日日苦修,却修不到字词入心,只能眼睁睁看着它们溜走。我曾清醒过,也曾无来由的堕入黑甜梦乡,但它们总是不在,如果纸面上的它们是虚妄的,为何我能看见它们,如果它们是真实的,为何我不能记住它们。修行,到底是真实,还是虚妄,.

2018-11-10 18:16:18 547 1

原创 数据库进阶七篇(一)-- InnoDB存储引擎

数据库进阶七篇第一部分InnoDB存储引擎姗姗来迟!目录​1.Mysql基本架构2.存储引擎比较3.InnoDB存储引擎3.1 内存3.1.1 缓冲池3.1.2 LRU List3.1.3 Free List3.1.4 Flush List和脏页3.1.5 change Buffer3.1.6 自适应哈希索引 AHI3.1.7 重做日志缓冲3.2 后台线程3.2.1 Master Thread3.2.2 IO Thread3.2....

2021-10-27 10:48:57 493

原创 Redis深度历险:核心原理和技术实现(原理篇)

目录一、鞭辟入里--IO多路复用模型1.Redis是单线程的 为什么还这么快?2.IO模型a.阻塞IO模型b.非阻塞IO模型c.多路复用IO模型d.信号驱动IO模型e.异步IO模型3.定时任务二、交头接耳--通讯协议三、未雨绸缪 --持久化RDBAOF四、雷厉风行 -- 管道五、开源节流 -- 小对象压缩六、有备无患 -- 主从同步一、鞭辟入里–IO多路复用模型Redis是单线程的!1.Redis是单线程的 为什么还这么快?并不是说单线程就一定慢,多线程就一定快。第一 Redis是基于纯内存的操作

2020-09-26 09:56:45 710

原创 Redis深度历险:核心原理和技术实现(基础及应用篇)

目录一.RedisRedis是什么?基础数据结构二.千帆竞发 —— 分布式锁三.缓兵之计 —— 延时队列异步消息队列延迟队列四.节衣缩食 —— 位图五.四两拨千斤 —— HyperLogLog六.峰峦叠嶂 —— 布隆过滤器七.断尾求生 —— 简单限流八.一毛不拔 —— 漏斗限流总结欢迎关注微信公众号“江湖喵的修炼秘籍”一.RedisRedis是什么?Redis全称为Remote DictionaryServic...

2020-09-14 10:19:38 388

原创 架构整洁之道(架构篇)

只有顺心意,才能逆天命 --猫腻《择天记》接上文:架构整洁之道(原则篇) 1.什么是软件架构什么是软件架构?“软件架构师”的工作内容是什么?软件架构设计的目标?2.重复3.划分边界4.尖叫的软件架构5.整洁架构5.1 业务实体5.2 用例5.3 接口适配器5.4 框架与驱动程序6.解耦谬论欢迎关注微信公众号“江湖喵的修炼秘籍”1.什么是软件架构什么是软件架构?软件架构的实质就是规划如何将系统切分成组件,安排好组件之间的排列关系,以及组件组件之间的通信方式。“软件架构师”的工作.

2020-09-07 19:26:00 553

原创 读书·架构整洁之道(原则篇)

十四年不修行,只读书,一年通幽。二十日不解碑,只静坐,一日看尽前陵碑 ----- 猫腻《择天记》近日在读Bob大叔的《架构整洁之道》,全书大体上可以分为两部分,前半部分讲设计原则,后半部分讲软件架构,这篇文章是对前半部分的一些观点的整理和思考。 一.设计与架构究竟是什么?二.SOLID设计原则SRP:单一责任原则(Single Responsibility Principle)OCP:开闭原则(Open Closed Principle)LSP:里氏替换原则(Liskov Su.

2020-08-30 14:33:19 279

原创 HashMap快问快答

他强由他强,清风拂山岗;他横由他横,明月照大江;他自狠来他自恶,我自一口真气足。 — 金庸 《倚天屠龙记》1.HashMap的底层使用了什么数据结构进行存储?HashMap使用哈希表进行数据存储,JDK1.7使用数组+链表实现,JDK1.8使用数组+链表+红黑树实现。2.HashMap的put过程?JDK1.8中HashMap进行put操作的过程如下:1.计算关于key的hashcode值(与Key.hashCode的高16位做异或运算) (key == null)

2020-08-23 12:43:40 141

原创 注解+反射 参数校验更加简洁

背景怎么做

2020-06-23 11:09:46 273

原创 注解+Aspect 省时省力的管理好接口日志

背景无论是对外提供的RPC接口,还是项目内的普通方法,我们都会有需要打印方法入参、出参的需求,方便在遇到问题时通过查看日志快速定位,我们也会需要对方法的执行时间进行打印 方便分析和调优。比较笨的做法就是在每个需要打印日志的地方使用log.info对参数进行打印,在每个方法内部方法体前后获取系统时间 在最后打印时间差但这种对方法自身业务逻辑没有什么意义的的代码 侵入性太强 编写时也浪费时间 所以我们可以通过注解+AOP的方法 对这些操作进行封装 基于注解的控制又方便随时随地的使用怎么做定义注解pa

2020-06-21 11:12:33 185

原创 lombok -- 爱的人爱的疯狂 恨的人恨的切齿

lombok -- 爱的人爱的疯狂 恨的人恨的发飙lombok简介如何使用安装插件引入依赖注解@Getter / @Setter@ToString@Data@Slf4j@Builder原理争议lombok简介lombok是一个java库,致力于通过一组注解消除代码中的一些必要但是臃肿的样板代码,精简代码,提高效率,还有耍酷。如何使用使用lombok需要在IDE中引入对应的插件,并在项目中引入对应的pom依赖安装插件在IDEA的插件中搜索lombok然后安装引入依赖<dependenc

2020-06-19 23:19:18 429 1

原创 坑边杂记

2019.08.07multipartResolver上传文件 小于10K未生成临时文件https://www.cnblogs.com/flywang/p/5413239.html2019.07.09 js tofixed方法 四舍六入五成双/五不进位https://blog.csdn.net/ptsx0607/article/details/83275619 坑的一脸血20...

2019-06-26 13:01:19 147

原创 IOS11 弹窗上文本框光标错位问题

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。最近遇到个蛋疼的问题,系统的移动端页面在IOS升级到11以后,页面上的弹窗中的文本框的光标会错位,进而导致下面的按钮也无法点击,具体解决方式就直接搬运同行的了,见下面链接https://www.cnblogs.com/...

2018-01-19 10:18:24 6995 1

原创 A计划--POJ1006 Biorhythms

A题不分早晚!第一道枚举水题import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int p,e,i,d; int m =1; while((p

2017-11-11 14:51:30 451

原创 A计划--POJ1007 DNA Sorting

A题不分早晚!思路是首先把每行的DNA串使用归并排序计算出逆序数对的个数,然后在对每组产生的逆序数对数对原始数据进行排序import java.util.Scanner;public class Main{ static String dnas[]; static String dataStr[]; static int data[]; static int step; st

2017-11-11 14:02:57 475

原创 A计划---POJ1804 Brainman

还是一道逆序数的题,再熟悉一下归并排序import java.util.Scanner;public class Main { static int data[] = null; static long step; public static void sort(int left,int right,int temp[]){ if(left<right){ int mid

2017-11-07 19:22:37 417 2

原创 A计划---POJ2299 Ultra-QuickSort

A题不分早晚对于刚入坑的我来说,这道题还是有点难度的。最初使用二分插入排序计算的,但这个算法虽然相对直接插入排序性能优化了不少,平均复杂度为O(nlogn),但最坏情况下时间复杂度为O(n2),所以超时了。后来经过提示知道这是一道逆序数的题,可以使用归并排序实现,时间复杂度为O(nlogn), 不过需要注意的一个地方是题目中给定的数据范围是50W,所以使用最大情况下结果会超出int的存

2017-11-07 09:56:17 340

原创 A计划--POJ2388 中位数

A题不分早晚,从今天开始好好学习算法,提高自己的逻辑思维能力,免得太怠惰。这道题就是一道求中位数的题,很简单,用快排就可以了import java.util.Scanner;public class Main { static int data[] = null; public static void sort(int left,int right){ if(left>

2017-11-06 13:05:34 397

原创 Hadoop那些事儿(六)---Hive入门程序

关于hive的入门知识点,网上有很详细的资料,我是看的 http://yiibai.com/hive/ 提供的教程,在这里我就不重复了。然后最近一直在蒙圈中,在使用过程中有问题一直解决不了,卡了好久。下面来写hive的jdbc程序。 我还是在之前hadoop的项目中写的,首先引入hive的依赖包,位于安装目录下,我这里的地址是/usr/local/hive/lib 我引入了所有含有hive的ja

2017-03-06 11:13:07 1604

原创 使用maven-clover2-plugin测试代码覆盖率

首先给两个官网的地址: http://docs.atlassian.com/maven-clover2-plugin/2.3.1/usage.html http://maven.apache.org/archives/maven-1.x/plugins/clover/properties.html大家可以先看一下 下面我先说一下我对clover的理解:当测试代码执行时,代码覆盖系统会收集哪些语

2017-03-01 16:27:10 2581

原创 Hadoop那些事儿(五)---Hive安装与配置

hadoop+hive

2017-02-22 15:04:14 2925

原创 Hadoop那些事儿(四)---MapReduce编程实例(基础)

前言上一篇文章,以WordCount为例讲了一下MapReduce的代码结构及运行机制,这篇文章将通过几个简单的例子进一步认识MapReduce。1.数据检索问题描述假设有很多条数据,我们从中查找包含某个字符串的语句。解决方案这个问题比较简单,首先在Map中获取当前读取的文件的文件名作为key,将要解析的数据按句号分割,逐句判断,如果包含指定的字符串则作为value输出。在Reduce中对属于同一文

2017-02-17 11:33:19 13504 8

原创 Hadoop那些事儿(三)---MapReduce编程浅析

1.map和reduce1.1 mapReduce处理逻辑在本系列文章的第一篇中,曾对MapReduce原理做过简单的描述,在这里再重述一遍。 首先我们有两个文件word1.txt和word2.txt 其中word1.txt的内容如下:aaaabbbbccccddddaaaaword2.txt的内容如下:aaaaccccddddeeeeaaaa这里的两个文件很小,我们先假设这

2017-02-06 10:27:38 2555 3

原创 Hadoop那些事儿(二)---MapReduce开发环境搭建

上一篇文章介绍了在ubuntu系统中安装Hadoop的伪分布式环境,这篇文章主要为MapReduce开发环境的搭建流程。1.HDFS伪分布式配置使用MapReduce时,如果需要与HDFS建立连接,及使用HDFS中的文件,还需要做一些配置。 首先进入Hadoop的安装目录cd /usr/local/hadoop/hadoop2在HDFS中创建用户目录./bin/hdfs dfs -mkdir -p

2017-01-19 20:41:25 7342 7

原创 Hadoop那些事儿(一)–--Hadoop初探

前言Hadoop是什么? 用百科上的话说:“Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。” 可能有些抽象,这个问题可以在一步步学习Hadoop的各种知识以后再回过头来重新看待。Hadoop大家族Hadoop不是一个单一的项目,经过10年的发展,Hadoop已经成为了一个拥有近20个

2016-12-24 15:19:52 7450 4

原创 我的2016--一篇很烂的年终总结

眼瞅着又到年底了,趁着CSDN举办《我的2016》的活动,在这个被雾霾淹没的冬至的夜晚,坐在瑜伽垫上写下了这篇文章,我想趁着这个机会总结一下我最近的这几年,而不仅仅是这个即将逝去的2016.我与CSDN第一次在csdn上写博客是在2013年9月,当时我正在读大二,我当初决定写博客,只是单纯的想把自己学到的一些东西或者解决问题的一些思路和方法记录下来,避免遗失。掰着指头数一数,已经3年半了,很庆幸自

2016-12-21 21:00:32 2441 13

原创 nginx那些事儿

本文为我学习nginx时的笔记与心得,如有错误或者不当的地方,还望不吝指出1 基本概念1.1 正向代理和反向代理正向代理:一般来说,我们说的代理技术就是指正向代理技术。 使用正向代理技术一般用来访问我们无法访问的服务器。正向代理服务器介于用户和目标服务器之间,比如用户A想去访问目标服务器B,但是各种原因无法直接访问,这时就可以通过使用正向代理服务器C,用户A向代理服务器C发送一个请求并指定目标服务

2016-12-21 11:20:53 3524

原创 memcached 学习笔记

memcachedMemcached 是一套高性能的、分布式内存对象缓存系统。 注意,memcache不是数据库。1 memcached1.1 特点a.协议简单 使用文本协议和二进制协议,协议简单,性能高效.b.基于 libevent 的事件处理 libevent 是个程序库,它将 Linux 的 epoll、BSD 类操作系统的 kqueue 等事件处理功能封装成统一的接口

2016-12-17 11:35:02 1033

原创 mongodb学习笔记

1.基本概念1.1 NOSQLNOSQL,即not only sql,不仅仅是sql的意思,NOSQL泛指非关系型数据库。关于关系型数据库和分i关系型数据库的区别,在这里不进行阐述,大家可以自行百度。NOSQL主要分为四种类型:键值存储数据库/列存储数据库/文档型数据库/图形数据库。1.2 MongoDBMongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功

2016-12-16 10:10:55 925

原创 CAS单点登录(四)--cas server返回中文用户名时乱码的原因及解决方式

今天,在单点登录系统中,使用中文用户名登录系统时,出现了返回的用户名乱码的问题。通过阅读cas_client源码,找到了具体的原因。获取用户名的操作是在ticket验证的过程中,下面,我先按照流程描述一下ticket验证的过程。首先,由于我们在客户端进行了如下配置(代码1):           CAS Validation Filter           org.jasig.cas.cli

2016-11-11 21:43:17 9221 1

原创 CAS单点登录客户端--C++版

前言: 如果用java来写一个单点登录的CAS客户端,是很容易实现的,只要导入相关的jar包,再按要求配置就好了,关于java的单点登录的实现,在我前边的几篇文章中有重点描述,有兴趣的童鞋可以去看看。最近要做一个c++版的单点登录的客户端,在网上搜了一下,没有找到,所以只好自己想办法写了。目录单点登录的原理开发环境代码代码解释1.单点登录原理为了了解单点登录的原理,我反编

2016-09-09 09:40:18 3837 1

原创 CGI编程--Tomcat下运行c++程序

我是一个地道的Java程序员,但最近领导给指派了个c++的开发任务,开发一个c++版的单点登录的CAS客户端。虽然一点没学过c++,但也只能硬着头皮上。CGI编程,简单的说是公共网关接口,定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的。具体的内容可以自行百度,这里不做赘述,这篇文章主要讲一下怎么在Tomcat下运行C++程序。第一步,配置Tomcat。 我使用的Tomcat是

2016-08-31 21:16:23 5394 4

原创 CAS单点登录(三)--服务端改造(登录页及登录方式的自定义)

上一篇文章(http://blog.csdn.net/u012116457/article/details/52161201)提到,为了更好的满足我们的要求,还需要对服务端进行改造。最近发现了一个巨牛的人工智能教程,不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!所以分享给大家,感兴趣的童鞋可以看看。点这里可以跳转到教程。1.新建cas_server为了方便,首先我们现在...

2016-08-09 15:05:50 19712 2

原创 CAS单点登录(二)---非SSL协议 CAS服务端部署及客户端配置

1.下载CAS server与CAS client下载地址:http://downloads.jasig.org/cas/cas-server-4.0.0-release.ziphttp://downloads.jasig.org/cas-clients/cas-client-3.2.1-release.zip2.部署CAS servera.将下载的cas-server-4.0.0-release

2016-08-09 12:24:07 7103

原创 CAS单点登录(一)---CAS介绍

1.名词解释 CAS(中央认证服务)旨在为Web服务提供一种可靠的单点登录方法。 CAS包括CAS server和CAS client两部分。CAS server需要独立部署,主要负责对用户的认证工作。CAS client负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CAS server,CAS client与受保护的客户端部署在一起。2.基本协议图     上图所示为用户首

2016-08-09 11:14:34 2936 1

原创 Exception:两个类具有相同的 XML 类型名称,请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称

两个类具有相同的 XML 类型名称 "{http://service.webservice.base.xm/}searchAccountBatchResponse"。请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。 this problem is related to the following location: at xm.base.webs

2016-07-21 17:17:26 20703 1

原创 WebLogic+OSB(Oracle Server Bus)安装流程

JDK:1.7.0_80webLogic:10.3.6oepe:版本我也不知道osb:11.1.1.7.0----------------------------------------------------------------------首先安装JDK然后安装webLogic,一般是jar包 需要使用命令执行:java -jar wls1036_generic.jar 需要指定主目录位置,

2016-07-15 17:57:59 5337

原创 Unable to locate the server named "localhost" --- the server does not have a DNS entry. Perhaps ther

今天跑项目遇到了下面的异常:Unable to locate the server named "localhost" --- the server does not have a DNS entry. Perhaps there is a misspelling in the server name, or the server no longer exists. Double-check th

2016-07-12 13:29:47 5558 1

原创 集群环境下如何防止定时任务重复执行?

起因 最近做项目是遇到这样一个问题:系统需要在每天的16:00向一些符合特定条件的用户发送一份邮件,发送成功后修改掉数据库中对应数据的标志位。本来是没有问题的,但后来系统被部署到了集群环境下,导致每天会向这些用户发送多次同样的数据,遭到了客户的抱怨。 解决 下面来介绍一下处理这种问题的解决办法: 1.在数据库中建立tm_job_group表 Name

2016-03-18 21:37:01 18999 6

原创 js中智能右键菜单

这篇文章来介绍一下智能右键菜单,需要引入的文件再文末会给出,首先先看代码: var cityArray = new Array(); cityArray.push("北京"); cityArray.push("上海"); //设置表头的鼠标右击事件 $('th').mousedown(function(e){ var selected = e.target.in

2016-03-01 20:06:58 1922

原创 bootstrap3.3 兼容IE8处理方法

bootstrap是在html5的基础上实现的,要想让IE8兼容,首先要让器兼容html5  ,然后兼容bootstrap,在head中加入以下代码:最好加载引用额css后边 /base/bootstrap/js/respond.proxy.gif" id="respond-redirect" rel="respond-r

2016-03-01 19:38:49 6558 1

cas单点登录客户端--c++版

cas单点登录客户端c++版

2016-09-08

jars 备份

jars 备份

2016-06-10

智能右键菜单

用于智能右键开发的文件

2016-03-01

spring mvc(整合了json)

该项目在以前的基础上整合了json的使用

2015-02-09

spring MVC(新增拦截器demo)

这一版本的项目中新增了拦截器的一个demo

2015-02-08

spring mVC项目

在spring的基础上整合了JPA和log4j

2015-02-07

spring mvc整合jpa后项目

spring mvc整合jpa后项目,包括源码及用到的包

2015-02-05

spring3.0jar包

里边是spring3.0的一些jar包,供大家使用

2015-02-05

C3P0连接池配置需要的jar包

c3p0-0.9.2.1.jar&&hibernate-c3p0-4.0.0.Final[1].jar&&mchange-commons-java-0.2.3.4.jar

2015-01-26

山东建筑大学Android实验3--12

山东建筑大学Android实验3--12,供大家参考学习

2014-07-11

简单的山寨QQ

1、具有登陆界面,包括服务器IP(或服务器名)、用户名、密码。 登录:在数据库服务器上验证用户名和密码,如果匹配就进入QQ聊天主界面,否则提示不能登录。 取消:退出即可。 注册:进入用户注册界面。 服务器栏中默认是你要使用的服务器名字,即该服务器安装的数据库,所有qq用户信息都保存在这个服务器的数据库里。图片显示的是我试验的服务器名字。 登录成功后还要把自己当前所在机器的IP地址提取出来并保存到数据库的个人信息中,替换原来注册或上次使用的IP。 2、注册界面,可以让第一次使用的用户注册,即给自己在服务器上注册一个用户名、密码、自己所使用的机器IP、自己的端口号,如图所示: 注册:首先验证密码和确认密码是否一致,如果不一致,则提示,否则,把输入的信息记录到数据库中,如果用户名重复也要提示。 其中IP栏目的内容可以由程序自动提取出本机的ip地址,并显示出来,省得用户输入错误。 3、聊天主界面 登陆成功后就进入本届面,界面如下: 界面设计类似简单的QQ界面,可以使用BorderLayout布局管理器,在上面(BorderLayou.NORTH)显示“好友列表”四个字,中间部分(BorderLayou.CENTER)显示自己的好友名单,名单可以用多个JLabel控件(JLabel中添加ImageIcon)显示,或者用JTree控件显示(比较复杂),名单中可以显示qq号、昵称(姓名)、状态(在线、离线等)。最下边(BorderLayou.SOUTH)可以显示“欢迎您:***”。 好友要求用不同的图标显示在线和不在线的状态。 双击在线的好友名字可以打开聊天窗口,而双击不在线的好友不动(即不开启聊天窗口)。 达到这种效果的前提是在登录成功后,获得当前登录用户的信息,在本模块根据登录信息获取用户名、获取他的好友列表等数据。

2014-05-19

空空如也

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

TA关注的人

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