自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

创造自我、追求无我

学习知识,共享知识。

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

转载 IM开发技术学习:揭秘微信朋友圈这种信息推流背后的系统设计

本文由徐宁发表于腾讯大讲堂,原题“程序员如何把你关注的内容推送到你眼前?揭秘信息流推荐背后的系统设计”,有改动和修订。

2024-04-23 11:24:25 6

转载 MySQL 用 limit 为什么会影响性能?有什么优化方案?

Limit 是一种常用的分页查询语句,它可以指定返回记录行的偏移量和最大数目。这样的语句看起来很简单,但是在实际使用中,可能会出现性能问题。为什么呢?我们需要从 Mysql 的索引结构和查询过程来分析。

2024-04-09 16:23:53 33

转载 jedisLock—redis分布式锁实现

一、使用分布式锁要满足的几个条件:系统是一个分布式系统(关键是分布式,单机的可以使用ReentrantLock或者synchronized代码块来实现) 共享资源(各个系统访问同一个资源,资源的载体可能是传统关系型数据库或者NoSQL) 同步访问(即有很多个进程同事访问同一个共享资源。没有同步访问,谁管你资源竞争不竞争)二、应用的场景例子  管理后台的部署架构(多台tomcat服务器...

2018-12-26 14:01:30 546 3

转载 spring cloud 学习(5) - config server

 分布式环境下的统一配置框架,已经有不少了,比如百度的disconf,阿里的diamand。今天来看下spring cloud对应的解决方案:如上图,从架构上就可以看出与disconf之类的有很大不同,主要区别在于:配置的存储方式不同 disconf是把配置信息保存在mysql、zookeeper中,而spring cloud config是将配置保存在git/svn上 (即:配置当...

2018-11-08 18:14:36 354

转载 HashMap实现原理及源码分析

哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录  一、什么是哈希表  二、HashMap实...

2018-03-21 19:23:18 469 6

原创 sping 定时任务

1、创建定时任务 配置文件<?xml version="1.0" encoding="utf-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:task="http://

2018-03-09 15:55:03 328 1

转载 mybatis mybatis-generator 代码自动生成工具

一、简介mybatis generator是很好用的mybatis自动代码生成工具。最近公司使用maven和mybatis开发项目,手动写入一个个实体类和mapper还有xml配置文件感觉会很麻烦,使用mybatis generator只需要简单的配置就能完成我们的工作,这里简述一下开发步骤。二、开发流程2.1 创建maven项目我们选择开发工具创建maven项目,

2017-12-12 11:43:21 902 1

转载 Jetty使用教程(一)——开始使用Jetty

一、Jetty简介1.1 什么是Jetty  Jetty是一个提供HHTP服务器、HTTP客户端和javax.servlet容器的开源项目。   这个入门教程分为五个部分:第一部分部分重点介绍如何使用Jetty,它提供如下信息,如什么是Jetty,从哪可以下载它,怎么在像Maven一样的仓库中找到它。这一部分同样会提供启动Jetty和如何配置Jetty的

2017-11-05 16:54:40 8917 2

转载 Jetty 的工作原理以及与 Tomcat 的比较

许 令波, Java 工程师, 淘宝网许令波,developerWorks 中国网站最佳作者,现就职于淘宝网,是一名 Java 开发工程师。对大型互联网架构设计颇感兴趣,喜欢钻研开源框架的设计原理。有时间将学到的知识整理成文章,也喜欢记录下工作和生活中的一些思考。个人网站是:http://xulingbo.net。简介: Jetty 应该是目前最活跃也是很有前景的一个

2017-11-05 16:46:10 325 1

转载 手机访问智能硬件的三种模式

手机访问智能硬件的三种基本模式:B/S模式、C/S模式、云模式。http://blog.csdn.net/zoomdy/article/details/51594977 mingdu.zheng at gmail dot comB/S模式B/S模式要求智能硬件提供WiFi通信模块的同时还具备Web服务器功能,手机通过浏览器访问智能硬件Web服务器上的HTML5页

2017-10-17 15:04:28 539 1

转载 主流视频通话SDK比较

视频通话框架主流的视频通讯框架比较多,此文主要通过Android平台的来做SDK平台使用的比较。现在的视频热门框架有一些如:Jitsi Jitsi是一个开源的,安全(ZRTP加密),高质量的SIP/XMPP视频通话、会议、聊天、桌面共享、文件传传输。可以安装在你喜欢的操作系统中并且支持多种IM网络。官方网站:https://jitsi.org/

2017-10-15 18:17:06 7378

转载 MQTT——java简单测试(二)

服务端代码: 1 package bsit.mqtt.demo.one_way; 2 3 import org.eclipse.paho.client.mqttv3.MqttClient; 4 import org.eclipse.paho.client.mqttv3.MqttConnectOptions; 5 import org.eclipse.paho.client.m

2017-10-13 15:31:49 898

转载 MQTT——服务器搭建(一)

MQTT,是IBM推出的一种针对移动终端设备的基于TCP/IP的发布/预订协议,可以连接大量的远程传感器和控制设备:轻量级的消息订阅和发布(publish/subscribe)协议建立在TCP/IP协议之上IoT,internet of things,物联网,MQTT在这方面应用较多。MQTT协议是针对如下情况设计的:M2M(Machine to Machine

2017-10-13 15:28:37 1078

转载 史上最简单的 SpringCloud 教程 | 终章

转载请标明出处: http://blog.csdn.net/forezp/article/details/70148833 本文出自方志朋的博客错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝。赶快上船吧,老船长带你飞。终章不是最后一篇,它是一个

2017-10-06 21:42:11 349 2

转载 微服务概述

微服务HOT?Why?l  微服务什么?l  微服务解决了什么问题?l  微服务有什么特点? 单体架构是什么l  一个归档包包含了应用所有功能的应用程序, 我们通常称之为单体应用。 l  架构单体应用的架构风格, 我们称之为单体架构, 这是一种比较传统的架构风格。单体架构存在的缺点l  复杂性逐渐变高l  技术债务逐渐上升l  部署速度逐

2017-10-06 20:27:49 453

转载 Java 中的异常和处理详解

简介程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代

2017-09-20 23:27:37 316 1

转载 Java开发牛人十大必备网站

以下是我收集的Java开发牛人必备的网站。这些网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题、面试问题等。质量是衡量一个网站的关键因素,我个人认为这些网站质量都很好。接下来,我会跟大家分享我是如何使用这些网站学习和娱乐的。或许你会认为有些网站适合任何水平的开发者,但是我认为:对于Java开发牛人来说,网站的好坏取决于如何使用它们。1、StackoverflowStacko

2017-09-07 18:19:12 636 2

转载 JVM(3):Java GC算法 垃圾收集器

GC算法 垃圾收集器概述垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 java 堆和方法区中,在程序运行期间,这

2017-09-07 17:34:48 330 1

转载 JVM(2):JVM内存结构

所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现问题,以便于快速的解决生产故障。先看一张图,这张图能很清晰的说明JVM内存结构布局。J

2017-09-07 17:31:17 224

转载 JVM(1):Java 类的加载机制

1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被“首次主

2017-09-07 17:24:32 331 1

转载 JVM方法调用的那些事

前言Java具备三种特性:封装、继承、多态。Java文件在编译过程中不会进行传统编译的连接步骤,方法调用的目标方法以符号引用的方式存储在Class文件中,这种多态特性给Java带来了更灵活的扩展能力,但也使得方法调用变得相对复杂,需要在类加载期间,甚至到运行期间才能确定目标方法的直接引用。方法调用所有方法调用的目标方法在Class文件里面都是常量池中的符号引用。在类加载

2017-09-07 16:21:19 365 1

原创 JVM内存结构分析

对于Java程序员来说,内存是由JVM自动管理的,所以一旦出现内存泄漏或溢出的问题,不了解JVM的内存结构和各个内存区域的工作职责,将对解决问题带来很大的麻烦,本文参照周志明的《深入理解Java虚拟机》,介绍JVM的内存结构,比较枯燥,但对知其然,不知所以然的编码人员来说还是有一定帮助的。  按照Java虚拟机规范的规定,JVM自动管理的内存将会包括以下几个运行时数据区域。   

2017-09-05 10:53:51 372 1

转载 JVM调优总结(1):一栈、堆

数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress引

2017-09-05 10:02:01 335 1

转载 深入理解Java中的final关键字

Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的。final关键字的含义?final在Java中是一个保留的关键字,可

2017-09-04 20:20:26 242

转载 重新看待Jar包冲突问题及解决方案

Jar包冲突是老生常谈的问题,几乎每一个Java程序猿都不可避免地遇到过,并且也都能想到通常的原因一般是同一个Jar包由于maven传递依赖等原因被引进了多个不同的版本而导致,可采用依赖排除、依赖管理等常规方式来尝试解决该问题,但这些方式真正能彻底解决该冲突问题吗?答案是否定的。笔者之所以将文章题目起为“重新看待”,是因为之前对于Jar包冲突问题的理解仅仅停留在前面所说的那些,直到在工作中遇到的一

2017-09-03 09:29:01 12339 4

转载 Java 垃圾回收算法

堆中存放着几乎所有的对象实例,垃圾收集器在堆堆进行回收前,首先要确定这些对象哪些还“活着”,哪些已经“死去”。方法有如下两种:(1)引用计数法     算法思想:为对象添加一个引用计数器,每当有一个地方引用该对象时,则该引用计数器值加1,;当引用失效时,则该引用计数器值减1;最后,计数器为0的对象就是不可能再被使用的,也即所谓的“死去”的对象。    Java中并没有使用这

2017-09-02 17:49:31 289

原创 行为研究:用户行为背后的意义和4点价值

很多人可能不知道,「行为分析」四个字的分量已经代表了近两年一些高速成长的公司对数据分析需求的精细化程度,同时,它也催生出了新一代的数据分析工具和分析方法。过去,所有人都在关注PV、UV、跳出率、访问深度、停留时长,还有很多人始终放不下的热力图等。总体来说,这些指标都属于统计指标,反映的都是产品总体情况。数据的价值除了反映现状,还有更重要的是应用;统计是数据汇总整理的结果,没有分析,怎能

2017-08-31 19:13:32 2435 4

原创 Mybatis-宏观学习

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了googlecode,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。    MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL本身,而不需要花费精力去处理例如注册

2017-08-25 15:55:53 414 10

原创 health2.0——获取微信信息

背景:继health1.0 软件投入使用时候,用户反映强烈,易用性还有很多的上升空间。不得不说微信已经融入大家的生活中,为了改善health2.0的易用性和微信合作志在必行。所以在没有经过张小龙同意的情况下,偷偷的进行了health2.0微信版的开发。    二话不说,先来张图了解宏观:    上代码:    接受微信发送的参数,本进行验证    package com.h

2017-08-12 10:06:52 1186 3

原创 2017年总-洞察事务本质,做真正的自己

不主观、不绝对、不固执、不自以为是                                                               —   孔子     感觉 从2017年开始到现在,自己的认知提升了很多,但是我知道的自己确实是真实的自己吗?或者是我想成为的自己吗?去掉主观、去掉绝对、去掉我的固执、去掉自以为是——剩下来的,就是自己的本质了!    做事

2017-08-04 21:52:11 524 12

原创 spring-ioc 放开那个对象,让我(容器)来

Spring ico 概念:     Ioc(控制反转):本来由应用程序管理的对象之间的依赖关系,现在交给了容器管理,这就叫控制反转,即交给了IOC容器管理,spring的IOC容器主要使用DI方式实现的。不需要主动的查找,对象的查找、定位和创建全部有容器管理。   好处:1、  大量减少了Factory和Singleton的数量,是代码层次更加清晰,主要原因是我们不在查找

2017-08-04 16:20:54 415 5

原创 Java-枚举应用总结

一、前言   在Java编程过程中,我们通常需要定义一些固定数量的常量,在jdk1.5以前,通常的做法是定义一个静态常量类,但自jdk1.5后,java引入了枚举(关键字enum,全称为 enumeration,值类型),在枚举中,我们可以把相关的常量分组到一个枚举类型里,枚举也比常量类有更多灵活的用法,使用枚举,可以有效的提高代码的整洁性、可读性、可维护性等等,这里简单总结一下常用的枚举

2017-07-31 18:06:00 1520 5

原创 log4j-NDC和MDC

NDC(Nested Diagnostic Context)和MDC(Mapped Diagnostic Context)是log4j种非常有用的两个类,它们用于存储应用程序的上下文信息(context infomation),从而便于在log中使用这些上下文信息。    NDC的实现是用hashtable来存储每个线程的stack信息,这个stack是每个线程可以设置当前线程的request

2017-07-29 14:52:42 513 16

原创 组合

需求后面再补 public static void main(String[] args){ List resultList=new ArrayList<>(); List tempList=new ArrayList<>(); List colorList=new ArrayList<>(); colorList.

2017-07-28 16:10:45 318 16

转载 日志处理——Log4j简单配置

Log4j是一组强大的日志组件,在项目中时常需要用它提供一些信息,这两天学习了一下它的简单配置。第一步,我们需要导入log4j-1.2.14.jar到lib目录下第二步,在src下建立log4j.properties文件。添加如下内容 1 log4j.properties 2 log4j.rootLogger =INFO,stdout 3 log4j.logge

2017-07-25 18:31:17 611 16

原创 日志处理——log4j 宏观学习

是什么   Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码

2017-07-25 18:20:55 426 21

转载 Spring Aop实例之xml配置

上篇博文《3幅图让你了解Spring AOP》中介绍了aop通知类型,AOP的配置方式有2种方式:xml配置和AspectJ注解方式。今天我们就来实践一下xml配置方式。      我采用的jdk代理,所以首先将接口和实现类代码附上package com.tgb.aop;    public interface UserManager {  

2017-07-24 10:04:10 302 12

转载 3幅图让你了解Spring AOP

AOP(Aspect Oriented Programming),是面向切面编程的技术。AOP基于IoC基础,是对OOP的有益补充。       AOP之所以能得到广泛认可,主要是因为它将应用系统拆分分了2个部分:核心业务逻辑(Core business concerns)及横向的通用逻辑,也就是所谓的切面Crosscutting enterprise concerns。例如,

2017-07-24 10:03:23 416 11

转载 Spring思维导图,让Spring不再难懂(mvc篇)

写在前面 生活就像海洋,只有意志坚强的人才能到达彼岸。已经很久没有发文章了呀,想必大家都挂念我了,哈哈。温故而知新,今天一起来复习一下spring mvc的内容吧。 spring mvc简介与运行原理 Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图

2017-07-19 17:55:27 539 13

转载 Spring-Data-Redis使用文档

一.   为什么使用Spring-Data-RedisSpring Framework是领先的全套Java/JEE应用程序框架。它通过使用依赖注入,AOP和便携式服务抽象来提供轻量级的容器和非侵入式编程模型。NoSQL存储器提供了用于水平可扩展性和速度的经典RDBMS的替代方案。在实现方面,KeyValue存储是NoSQL空间中最大(最老)的成员之一。Spring-Data-Redis

2017-07-13 16:57:01 2046 16

MQTT-3.1.1-CN.docx

MQTT-3.1.1-CN.docx 物联网协议 -mqtt详细指导文档, MQTT-3.1.1-CN.docx 物联网协议 -mqtt详细指导文档, MQTT-3.1.1-CN.docx 物联网协议 -mqtt详细指导文档

2017-10-27

apache-apollo-1.7.1-windows

MQTT,是IBM推出的一种针对移动终端设备的基于TCP/IP的发布/预订协议,可以连接大量的远程传感器和控制设备

2017-10-13

jedis-2.4.2.jar

2017-03-07

jstl标签 c:out 所需jar包

2016-07-24

负载均衡redis

Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcache这类key-value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。

2016-06-24

邮件服务器

支持互联网邮件收发,网页邮件收发,邮件代理,

2016-05-02

LINQ实战书籍

LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

2016-03-03

wwf开发指南 + 源码

《WWF开发指南》一书通过11章的内容,详细讲解了WWF所提供的各种活动和服务的原理和使用技巧。通过一个个实用而又简练的范例来使读者从浅入深、循序渐进地对WWF进行学习,最终掌握实际开发所需要的相关技能。该书可以作为软件开发技术人员学习WWF的参考资料。

2016-01-12

WWF开发指南

WWF开发指南 中详细讲解了工作流的使用。

2016-01-11

mvc路由机制

非常好使啊!mvc路由选择器 非常好使,非常好使!

2015-12-22

jquery-powered-html5-navigation-menu.zip

jquery-powered-html5-navigation-menu.zip

2015-07-19

空空如也

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

TA关注的人

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