- 博客(66)
- 资源 (3)
- 收藏
- 关注
原创 RocketMQ解析
文章目录1 单机版消息中心2 分布式消息中心2.1 问题与解决2.1.1 消息丢失的问题2.1.2 同步落盘怎么才能快2.1.3 消息堆积的问题2.1.4 定时消息的实现2.1.5 顺序消息的实现2.1.6 分布式消息的实现2.1.7 消息的 push 实现2.1.8 消息重复发送的避免2.1.9 广播消费与集群消费2.1.10 RocketMQ 不使用 ZooKeeper 作为注册中心的原因,以...
2019-09-20 18:21:22 272
原创 https的解析
文章目录0 SSL 与 TLS1 从网络协议的角度理解 HTTPS2 从密码学的角度理解 HTTPS2.1 TLS 工作流程2.2 密码基础2.2.1 伪随机数生成器2.2.2 消息认证码2.2.3 数字签名2.2.4 公钥密码2.2.5 证书2.2.6 密码小结2.3 TLS 使用的密码技术2.4 TLS 总结3 RSA 公钥秘钥算法简单示例4 参考0 SSL 与 TLSSSL:(Secur...
2019-09-20 18:20:47 825
原创 浅出分布式唯一ID生成器
文章目录0. 背景1. 调研2. 实际使用2.1 时钟回拨问题3. 其它ID算法简析3.1 uid-generator3.2 leaf3.2.1 Leaf-segment3.2.2 Leaf-snowflake3.3 UUID3.4 redis3.5 idx_mysql_id3.6 snowflake4. 个人认为好的解决方案4.1 号段4.2 算法生成5. 参考0. 背景近日由于订单量+机器...
2019-09-20 18:18:37 902
原创 docker-compose 部署 nginx mongo leanote
0. 说明基于阿里云的 Centos7.4 测试。1. 快速搭建# 安装 docker 和 docer-composer,如果已安装则直接跳过yum install -y docker # 安装 docker,默认版本1.13.0pip install docker-compose # 使用 pip 安装运行 docker-composersystemctl start ...
2018-08-30 23:45:31 1234
原创 iterm2 实现 ssh 免密码登录,亲测可用
#!/usr/bin/expectset password kskhJla23kJLset port 12101set user rootset ip 192.168.101.1spawn ssh -p $port $user@$ipexpect "$user@$ip's password:"send "$password\r"interact}将上面放在文稿下面,获取地址...
2018-03-19 11:35:04 5587 1
原创 jetty跑websocket的坑
最近要用websocket,项目是maven习惯用jetty了,然后今天要做websocket,就是没收到请求,网上基本很少有jetty的,都是tomcat,最后发现,我把jetty8换成jetty9.4啊,以及勾选websocket support。就好了,好坑。。
2017-06-28 20:54:05 5580
原创 shiro-helloworld(1)
最近在公司搞了jfinal快四个月了, 实习也快结束了,赶紧来补一补现在热门的技术,shiro,另外电脑也新买了一个,也赶紧熟悉用idea开发。参考尚硅谷shiro视频以及shiro官方网站进行学习。
2017-05-20 17:39:27 430
原创 spring3.x第十章 Spring的事务管理难点剖析
10.1 DAO和事务管理的牵绊10.1.1 JDBC访问数据库 很多复杂的事物要分步进行,但它们组成一个整体,要么整体生效,要么整体失效。这种思想反映到数据库上,就是多个SQL语句,要么所有执行成功,要么所有执行失败。 数据库事务有严格的定义,它必须同时满足4个特性,原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)和持久性(Durabiliy)
2017-02-11 20:48:17 415
原创 spring3.x第八章 Spring对DAO的支持
8.1 Spring的DAO理念 DAO(Data Access Object)用于访问数据的对象,虽然我们在大多数情况下,将数据保存在数据库中,但用户也可以将数据存储到文件中或LDAP中,DAO不但屏蔽了数据存储的最终介质的不同,也屏蔽了具体的实现技术的不同。8.2 统一的异常体系 Spring提供了一套和实现技术无关的、面向DAO层语义的异常体系,并通过转换器将不同持久化技术的异常转换成Sp
2017-02-07 15:17:37 396
原创 spring3.x第七章 基于@AspectJ和Schema的AOP
7.1 Spring对AOP的支持 我们所说的Spring AOP,它包括基于XML配置的AOP和基于@AspectJ注解的AOP,底层都是采用动态代理技术(JDK代理或CGLib代理)。7.2 JDK5.0注解知识快速进阶7.2.1 了解注解 JDK5.0注解,通过Java语言的反射机制获取类中标注的注解,完成特定的功能。 注解是代码的附属信息,它遵循一个基本原则:注解不能直接干扰程序代
2017-02-07 13:22:12 496
原创 spring3.x第六章 SpringAOP基础
6.1 AOP概述6.1.1 AOP到底是什么 AOP是Aspect Oriented Programing的简称,面向切面编程。Horse、Pig、Camel这些对象都有run()、eat()的方法,通过引入一个包含这两个方法抽象的Animal父类,就可以通过继承来复用run()和eat()方法。这是纵向继承体系。public void removeTopic(int topicId){
2017-02-07 13:21:09 405
原创 spring3.x第五章 Spring容器高级主题
5.1 Spring容器技术内幕 Spring容器像一台构造精妙的机器,我们通过配置文件向机器传达控制信息,机器就能够按照设定的模式进行工作。如果我们将Spring容器比喻为一辆汽车,可以将BeanFactory看成汽车的发动机,而ApplicationContext则是整辆汽车。5.1.1 内部工作机制 Spring组件按其所承担的角色可以划分为两类: 1)物料组件:Resource、B
2017-02-07 13:17:44 417
原创 spring3.x第四章 在IOC容器中装配Bean
4.1 Spring配置概述4.1.1 Spring容器高层视图 Spring启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖关系,为上层应用提供准备就绪的运行环境。 Bean配置信息是Bean的元数据信息,由4个方面组成: * Bean的实现类; * Bean的属性信息,
2017-02-07 13:15:50 552
原创 spring3.x第三章 IOC容器概述
3.1 IOC概述 IOC(Inverse of Control)是Spring容器的内核,AOP、声明式事务等功能在此基础上开花结果。3.1.1 通过实例理解IOC的概念 电影<墨攻>中,刘德华扮演的墨者革离达到都城下,城上问道:“来者何人?”,刘德华回答:“墨者革离”。public class MoAttack{ public void cityGateAsk(){
2017-02-07 13:14:28 595
原创 spring3.x第一章 Spring概述
第一章 Spring概述1.1 认识Spring Spring是分层的JavaSE/EE应用一站式的轻量级开源框架,以IOC(Inverse of Control)和AOP(Aspect Oriented Programming)1.2 关于SpringSource Spring作者成立的公司。1.3 Spring带给我们什么1. 方便解耦,简化开发: 通过IOC容器,使用反射直接从配置文件中
2017-01-25 20:37:33 900
原创 spring3.x第二章 快速入门
第二章 快速入门2.1 实例功能概述2.1.1比HelloWorld更适用的实例 论坛的登陆模块2.1.2实例功能简介 登陆页面提供输入账号密码的输入表单。填写并提交表单,服务端检查是否匹配,不匹配返回登陆页面,匹配就成功登陆并重定向到欢迎页面。2.2 环境准备 使用MySQL5.X2.2.1 创建库表 创建用户表,创建用户登录表。并插入初始化的一个数据 “`SQL //新建数据库
2017-01-25 20:19:07 395
转载 python抓取百度贴吧帖子
# -*- coding:utf-8 -*-# 抓取百度贴吧帖子import sysreload(sys)sys.setdefaultencoding( "utf-8" )# 上面三行是解决python2.7ascll码的问题import urllib2import reclass Tool: # 去除img标签 removeImg = re.compile(''
2017-01-10 14:01:39 444
原创 C++ PRIMER PLUS 第六版编程答案(五)
6.11编程练习 1. 编写一个程序,读取键盘输入,直到遇到@符号为止,并回显输入(数字除外),同时将大小写字符转换为小写,将小写字符转换为大写。#include <iostream>#include <cctype>using namespace std;int main(){ char ch; while (cin.get(ch) && ch != '@'){
2017-01-09 15:36:13 1645
原创 JNI入门
NDK开发流程Dev Tool:Android Studio2.2.212.java文件夹下使用native关键字调用,并使用static{System.loadLibrary("native-lib")}加载动态链接库 3.在应用程序目录下的build.gradle文件中使用cmake进行动态链接库的创建。。。
2016-12-21 02:16:03 519
原创 Android校招复习全书(2)-Android
一、Activity的生命周期,缓存,启动模式二、Service的生命周期,两种启动方法,有什么区别。
2016-08-07 00:42:19 426
原创 Android屏幕适配
屏幕英寸1.屏幕英寸是指屏幕的对角线的长度。2.单位是英寸(inch),1英寸=2.54厘米屏幕分辨率1.屏幕分辨率是指在横纵向上的像素点数。2.单位是px,1px=1个像素点。3.一般以纵向像素*横向像素,如1920*1080。屏幕像素密度1.屏幕像素密度是指每英寸上的像素点数2.单位是dpi,即“dot per inch”3.屏幕像素密度与屏幕尺寸和屏幕分辨率有关例如nexus5,1.屏幕英寸
2016-08-04 23:50:28 613
转载 李欣老师视频笔记,只记录自己可能会忘的基础Efficient java
package com.coderising.rule05;public class StringTest { public static void main(String[] args) { /** s1 == s2 : true s1.equals(s2) : true s3 == s4 : false
2016-07-20 22:56:15 680
原创 spring+jquery 实现文件上传,二次发送
后台:package com.li.Controller;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRe
2016-07-19 17:23:19 674
原创 ajax文件和文件其他属性进行上传给后台spring mvc
$(document).ready(function() { $('#lunbosubmit').on('click', function() { $.ajaxFileUpload({ url : "http://localhost/ManageSystem/manager/upload", type : 'post',
2016-07-18 22:52:53 1810
转载 Ubuntu安装MAC界面
下载壁纸http://drive.noobslab.com/data/Mac-13.10/MBuntu-Wallpapers.zip修改GTK主题,图标,系统主题,光标,字体我们需要安装unity tweak。要安装unity tweak在ubuntu14.04上通过使用如下命令: sudo apt-get install unity-tweak-tool为了获得MAC更多特性。我们需要打开终端运
2016-06-18 16:45:54 625
转载 Ubuntu开发android
我的机器装的WIN8+Ubuntu16.0.4:1、Linux 下安装 JDK原文:http://www.cnblogs.com/savagemorgan/p/3650926.html首先:官网下载。地址http://www.oracle.com。具体需要看个人下载版本。然后:解压将下载下来的 .tar.gz 文件解压。 使用如下命令解压: sudo tar zxvf ./jdk-7u45-li
2016-06-18 02:11:40 299
原创 学习View第四步
现在正式做一个现在常用,标准的自定义控件,第一步,继承View,我们要做一个完全的自定义的控件了:MyView.javapublic class MyView extends View { public MyView(Context context) { super(context); } public MyView(Context cont
2016-05-13 02:11:27 268
原创 学习View第三步
相信大家对View的测量和绘制有了粗浅的认识,但是得需要一个简单的入门小例子来进行巩固,我就直接从《Android群英传》里面的一个小例子说起。MainActivity.java:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle
2016-05-05 23:33:37 407
原创 学习View第二步
学会了测量,接下来就学习View的绘制。绘制是通过重写onDraw()方法,这里得介绍一些类。首先,如果在现实生活中你需要绘制图片,你是需要一个画板的,然后给这个画板装载上一个画布,通过笔来在这个画布上画画。画板就相当于Android的Canvas类。因此在覆写方法onDraw(Canvas canvas){},最好先传一个Canvas的参数,相当先给一个画板。但是在其他的地方
2016-05-05 02:07:59 332
原创 Handler
Handler()源码:mLooper = Looper.myLooper(); if (mLooper == null) { throw new RuntimeException( "Can't create handler inside thread that has not called Looper.prepare
2016-04-17 18:24:26 236
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人