自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序领域

技术的本质是思想,公众号:程序领域

  • 博客(85)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 正经的聊聊分布式架构中的 redis

开篇思考Redis 为什么在系统中使用?解决了哪些问题?Redis 如何保证和数据库同步?Redis 缓存操作是在操作数据库前还是操作数据库后?话还得从上次报税说起,耳边还回绕这残留的芬芳:“SX系统,这也不能点,那也不能用!”,身为程序员的我听到总是百感交集,程序员背锅是免不了了。。。上线至今都能用的系统,突然就不行了,为什么?问题就在稳定性和系统架构上,发现问题就要吸取经验...

2020-04-30 09:17:33 518

原创 高并发系统一定要考虑的 Bloom Filter 布隆过滤器

开篇思考你能想到哪些方式判断一个元素是否存在集合中?布隆过滤器并不存储数据本身,那么是怎么做到过滤的?布隆过滤器实现?参数配置?一般我们用来判断一个元素是否存在,会想到用 List,Map,Set 等,会将元素先保存下来,然后进行筛选。 但是这样的形式都有一个弊端就是一定要保存数据才行,可是我们仅仅想知道是否存在数据,并不要求获取实际数据,这时候就会觉得这种方式实在是浪费空间。...

2020-04-29 17:03:07 803

原创 程序员你真的足够了解synchronized吗?对象的内存结构和锁升级关系了解吗?

开篇思考对象在堆中的数据结构?和锁有什么关系?对象的锁是如何升级的?还是绕不开底层。曾经一遍遍来自灵魂的追问,别再深入了,又不是为爱"鼓掌",有乐趣吗? 嘿,还真的越深入越有趣。 其实对象锁是由 Synchronized 来进行操控的,因为由虚拟机运行加锁步骤,而且各种解释都是非常抽象,所以很多人对底层加锁原理不是很理解。其实这个可以参考 JUC 里面提供的手动加锁机制来作为参考...

2020-04-20 14:09:13 290

原创 免费的 SSL 证书,它不香吗?

带着问题思考:what SSLwhy SSL如何获取免费的SSL证书HTTP & HttpsHTTP : Hyper Text Transfer Protocol(超文本传输协议)的缩写,服务器传输超文本到本地浏览器的传送协议HTTPS: Hyper Text Transfer Protocol over SecureSocket Layer(安全套接层的超文本传输协...

2020-04-14 17:41:44 436 1

原创 从架构的角度来分析,请务必讲清楚如何使用 MQ !

开篇思考MQ 为什么在系统中使用?一定要在分布式系统中使用吗?MQ 有哪些中间件?他们有哪些特点?MQ 给系统带来好处的同时有没有带来什么问题?如何解决?在阿里的面试中,面试官问到关于 MQ 的几个问题:你的项目中 MQ 的作用?为什么选择这款 MQ 作为消息中间件?重复消费怎么办?如何确保消息被消费?有遇到其他问题吗?那么接下来带着问题先思考下,有好的想法可以在评论...

2020-04-13 19:31:15 1729 7

原创 AQS都不懂如何敢说懂并发编程?阿里的灵魂拷问让我一五一十写下来

AQSAQS :AbstractQueuedSynchronizer的简称。AQS提供了一种手动实现锁功能,使用状态管理、FIFO(先入先出队列)等待队列等实现一个同步器功能。如果 Synchronized 关键字比喻成是一个自动挡汽车,提供自动加锁一系列平顺感,那么 AbstractQueuedSynchronizer 就是一个手动挡的变速箱,提供一些手动加锁的灵活性和可控性。乐趣包含...

2020-04-10 14:10:15 185

原创 怎么在实战中落地分布式事务?Springcloud + RocketMQ 带你入坑

开篇思考为什么要分布式事务?分布式事务有哪些实现方式?哪种可靠?分布式哪些环节会出问题?出了问题怎么应对?站在巨人的肩膀观察和思考随着互联网时代的高速发展,分布式成了大型系统的标配,这是时代发展的选择。大型分布式系统不是每个公司和开发人员都能够涉及的领域,因为大型系统后面都 隐藏着众多代名词:复杂,昂贵,高科技,人才云集,大战略。。。大部分领头互联网公司甚至依托自己的分布式经...

2020-03-25 17:19:16 1282

原创 一篇文章带你了解分布式系统理论基础 - CAP、BASE

1. CAP 理论任何分布式架构设计的系统,只能同时满足 CAP 中的任意两种,无法同时三种并存。CAP(Consistency、Availability、Partition tolerance) 是三个单词的缩写,分别代表一致性,可用性,分区容错性。这个理论到目前为止都适用于分布式架构系统。1.1 Consistency 一致性我们知道ACID中事务的一致性是指事务的执行不能破坏数据库...

2020-03-23 16:03:14 198

原创 微服务链路追踪:springcloud + SkyWalking

开篇思考为什么需要服务追踪?分布式事务几种实现方式?哪种追踪方式性能更优?为什么需要服务追踪在微服务架构下,由于进行了服务拆分,一次请求往往需要涉及多个服务,每个服务可能是由不同的团队开发,使用了不同的编程语言,还有可能部署在不同的机器上,分布在不同的数据中心。服务跟踪系统可以跟踪记录一次用户请求都发起了哪些调用,经过哪些服务处理,并且记录每一次调用所涉及的服务的详细信息,...

2020-03-19 08:16:44 4382

原创 锁真的有那么难吗?带你详细了解各种锁

开篇思考你知道哪些锁?锁解决了哪些应用场景的问题?锁的底层实现?java 中的并发包了解吗?CAS 会有哪些问题?如何解决?AQS 是并发包的基础,实现原理是什么?synchronize 是可重入锁吗?如果上面的思考题都能直接准确回答,直接去面试吧。锁1. 悲观锁并不是某一个锁,是一个锁类型,无论是否并发竞争资源,都会锁住资源,并等待资源释...

2020-03-12 19:10:44 202

转载 HashMap 的理解

HashMap源码分析基于JDK7的HashMap源码分析类的介绍下面的类介绍是从源码的英文翻译来的HashMap是基于哈希表实现的Map接口实现类。这个实现提供所有的map相关的操作,允许使用null的键和null的值。(HashMap与Hashtable大致是一样的,只是HashMap是不同步的,且它允许你null的键和值。);另外,HashMap内部元素排列是无序的。假设...

2019-12-05 22:17:11 139

原创 设计模式笔记之-单例

带着问题思考:单例模式存在的意义? 单例模式的几种写法? 单例模式在实战中的使用如何? 如何应对面试官?为什么要用单例模式单例模式要写都很简单,都知道最终就是返回一个单实例的对象.那么为什么要那么折腾?因为这样可以确保 java 内存中只有一个这个类的实例,减少了内存开支。可能大家觉得这才多少内存? 试想一下,1000 个对象,在同一个程序里面有大量的线程同时使用且 GC ...

2019-11-29 16:58:29 104

原创 还没有听过 DevOps吗?(Developmen & Operations)

DevOps(Developmen & Operations) 思考devops 是什么? Devops 能够给我们解决哪些问题? Devops 需要哪些条件? 团队应该怎么做?devops 是什么?我个人理解,devops 就是以提高效率宗旨,利用各种管理方法和技术来辅助,实现项目周期管理:产品需求管理、会议记录、快速开发、加速迭代、运维方便、反馈及时提、反馈快速处理...

2019-11-29 16:52:31 270

原创 微服务 Spring Boot 2.0 + Spring cloud + consul + Hystrix + zuul + config + feign (四)

 系列文章:config:配置中心 zuul :网关总线 hystrix:断路保护机制(本篇) sleuth+zipkin:链路追踪系统(sleuth 不了解的可以看看这篇简介:sleuth 简介)你知道雪崩效应吗?在微服务架构中,最可怕的就是这样的情况:当一个基础的服务(A )出现了问题,比如数据库 提供数据的服务(B)就不可用, 随着时间的推移, 取票服务(C) 服务...

2018-09-25 20:22:42 550 2

原创 微服务介绍

本篇博客援引国外:https://microservices.io/https://www.oschina.net/translate/introduction-to-microservices?lang=chs&p=1这篇博文是一个关于设计、构建和部署微服务的七部系列的第一部分。你将会了解到微服务的方法和它与传统的单一架构模式的对比。这个系列将会详细说明微服务架构的众多元素。...

2018-09-25 15:27:39 436

原创 微服务 Spring Boot 2.0 + Spring cloud + consul + Hystrix + zuul + config + feign (二)

微服务 Spring Boot 2.0 + Spring cloud + consul + Hystrix + zuul + config + feign (一)上篇介绍:consul 安装,spring boot 2.0 使用,ribbon,feign 调用接口。接下来还有目录结构:config:配置中心(本篇) zuul :网关总线 hystrix:断路保护机制 sleuth...

2018-09-25 14:55:32 1518

原创 sleuth 简介

sleuth 可以解决分布式系统的追踪问题。Sleuth:日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作;spring cloud 微服务框架可以看这里:微服务 Spring Boot 2.0 + Spring cloud + consul + Hystrix + zuul + config + feign (上)场景:在分布式系统中...

2018-09-25 10:42:01 14288

原创 微服务 Spring Boot 2.0 + Spring cloud + consul + Hystrix + zuul + config + feign (一)

Spring cloud 尝试使用 consul 作为服务注册和发现springCloud是基于SpringBoot的一整套实现微服务的框架。它提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。微服务是什么?假如让你设计一个简单的打车软件你会怎么设计呢?整体应用?我们可以把一个打车软件拆分为几个为服务,分...

2018-09-19 14:43:29 2598 2

转载 高并发量网站解决方案

一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht

2016-05-18 17:30:31 332

原创 Lucene简介和简单使用搜索和创建索引

Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucen

2015-11-23 10:15:59 785

原创 基于Lucene的全文检索 solr 简介和搭建

solr 简介Solr 是一个可供企业使用的、基于 Lucene 的开箱即用的搜索服务器。对Lucene不熟?那么建议先看看下面两篇文档:实战Lucene,第 1 部分: 初识 Lucene:http://www.ibm.com/developerworks/cn/java/j-lo-lucene1/用Lucene加速Web搜索应用程序的开发:http://www.ibm.

2015-11-23 09:59:24 1359

转载 Windows下安装CgyWin和Hadoop

Windows下运行Hadoop,通常有两种方式:一种是用VM方式安装一个Linux操作系统,这样基本可以实现全Linux环境的Hadoop运行;另一种是通过Cygwin模拟Linux环境。后者的好处是使用比较方便,安装过程也简单。在这里咱们就来看看第二种方案:如何再Windows下快速安装一个Hadoop环境,并结合Eclipse开发环境研究和调整Hadoop代码。整个安装过程包括以下三

2015-11-16 16:40:28 952

原创 java通过web配置监听启动定时任务

1.定时任务管理类(web.xml监听中启动)public class TimerManager {  //时间间隔 private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;   public TimerManager() {  Calendar calendar = Calendar.getInstance

2015-10-30 17:13:42 3903

原创 解决中文乱码的几种解决方案

首先说明我的特殊情况:1.前台jsp中,我使用的是 form post 请求,设置了 enctype="multipart/form-data" ,页面编码格式都是utf-82.后台中,我使用的是commons-fileUpload组件,ServletFileUpload 解析form表单和文件,3.设置 request.setCharacterEncoding("UTF-

2015-09-25 13:41:30 6893

原创 Spring mvc 请求跳转 redirect

1. 需求背景    需求:spring MVC框架controller间跳转,需重定向。有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示。本来以为挺简单的一件事情,并且个人认为比较常用的一种方式,一百度全都有了,这些根本不是问题,但是一百度居然出乎我的意料,一堆都不是我想要的结果。无奈啊,自己写一篇比较全都供以后大家一百度吧,哈哈哈。。。是这

2015-09-23 14:34:41 1809

转载 java后台处理批量上传下载

最近的项目中涉及到文件的上传跟下载的问题,就自己所涉及到的方面做出如下表述。  首先是文件上传部分,项目的要求是通用性较好,所以只需要传入目标路径即可。参数的传递通过Form表单传值,在目标路径下新建一个File类型的文件,然后通过流的方式将需要上传的文件写入新建的文件中。此方法适用于web开发过程中上传文档类的文件,如果你文件过大请研究ftp相关的知识,笔者所接触的ftp传文件限于C#中

2015-08-28 14:40:49 414

转载 layer弹出信息框API

layer弹出信息框API首先向大家推荐layer,在这里也非常感谢贤心的贡献,非常不错的信息框及弹出层解决方案,为一些项目的前端开发提高了很大的效率,希望layer 越办越好!下面是API,呵呵,官方抄袭过来的,为了自己看着方便。layer API之键值(仅在需要时配置,未配置的会用默认)键 : 值

2015-08-28 10:11:51 10405 2

原创 java多线程分块上传并支持断点续传

java多线程分块上传并支持断点续传最新修正完整版本 Java代码  package com.test;    import java.io.DataInputStream;  import java.io.DataOutputStream;  import java.io.File;  import java.io.FileInpu

2015-08-11 13:38:47 1739

转载 spring mvc 全解介绍

目录 一、前言二、spring mvc 核心类与接口三、spring mvc 核心流程图四、spring mvc DispatcherServlet说明五、spring mvc 父子上下文的说明六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css八、spring mvc 

2015-08-11 13:31:23 955

转载 理解本真的REST架构风格

理解本真的REST架构风格作者: 李锟  来源: InfoQ  发布时间: 2013-11-22 18:28  阅读: 9215 次  推荐: 20   原文链接   [收藏]    引子  在移动互联网、云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过“REST”这个buzzword,显然已经落伍了。夸张点说,甚至“出了门都不好意思跟别人打招呼”。尽管如此

2015-08-11 10:11:41 364

原创 Spring—— 源码分析之 JDBCTemplate.batchUpdate()

Spring JdbcTemplate的batch操作最后还是利用了JDBC提供的方法,Spring只是做了一下改造 JDBC的batch操作: String sql = "INSERT INTO CUSTOMER " + "(CUST_ID, NAME, AGE) VALUES (?, ?, ?)"; ListCustomer> customer

2015-06-11 10:30:04 3966

原创 Spring MVC 中的基于注解的 Controller

Spring MVC 中的基于注解的 Controller         终于来到了基于注解的 Spring MVC 了。之前我们所讲到的 handler,需要根据 url 并通过 HandlerMapping 来映射出相应的 handler 并调用相应的方法以响应请求。实际上,ControllerClassNameHandlerMapping, MultiActionControl

2015-05-20 13:34:11 312

原创 Spring MVC 配置文件及所需jar

简单的说下 :  standard.jar  这个jar包是我们在jsp中使用JSTL标签的时候用到的。你也可以使用SpringEL 。   servlet-api.jar  这是你在SpringMvc中 用到HttpServletRequest 等这些类。导入的包都OK了,上传下载的包我没有导。现在就应该到配置文件了。  2、配置文件 2.1w

2015-05-19 14:30:13 903 1

原创 Maven 提供 免费下载所有jar包地址,常用下载链接

很多jar包根本不用去花费积分下载,这里强烈鄙视那些下载要积分的。。。翔。。。。。。以下举个例子是怎么下载的,要下载从这个链接找就好了。servlet jar 下载,可以根据需要下载各种版本。http://maven.outofmemory.cn/javax.servlet/javax.servlet-api/3.1.0

2015-05-19 14:17:33 935

原创 poi 解析excel

我们知道要创建一张excel你得知道excel由什么组成,比如说sheet也就是一个工作表格,例如一行,一个单元格,单元格格式,单元格内容格式…这些都对应着poi里面的一个类。一个excel表格:HSSFWorkbook wb = new HSSFWorkbook();一个工作表格(sheet):HSSFSheet sheet = w

2015-05-13 09:14:16 816

转载 Spring MVC 实例

创建一个User实体类,放在Entity包下,采用注解的方式:package com.tgb.entity;    import javax.persistence.Column;  import javax.persistence.Entity;  import javax.persistence.GeneratedValue;  import javax.persistence.I

2015-04-27 14:01:38 444

转载 Java开发中的23种设计模式详解

Java开发中的23种设计模式详解设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于

2015-04-20 16:50:54 413

转载 纯 Hibernate 使用

最近一直在做系统测试,检验功能,测试bug。发现一直都是用spring来管理配置hibernate依赖注入,来管理Hibernate事务。但是有的程序需要手动Main函数启动,而采用spring加载的话,就会触发很多类,影响性能,还有当spring里面写了触发器后,那么随着你的main函数运行,你的触发器也得到了启动,那么这个会造成多个进程开启了触发器。    当离开了spring管理时,

2014-12-03 10:46:36 381

转载 集群之LVS(负载均衡)详解

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。http://lyp0909.blog.51cto.com/508999/546865提高服务器响应能力的方法scale on  在原有服务器的基础上进行升级或者直接换一台新的性能更高的服务器。scale out  横向扩展,将多台服务器并发向外响应客户端的请求。优点:成本低,扩展架构比

2014-11-06 10:58:22 98

转载 MySql存储过程—逻辑判断,条件控制,循环控制

同编写程序类似,存储过程中也有对应的条件判断,功能类似于if、switch。在MySql里面对应的是IF和CASE1、IF判断IF判断的格式是这样的:[sql] view plaincopyIF expression THEN commands     [ELSEIF expression THEN commands]  

2014-11-03 17:34:27 2427

go1.13.8.windows-amd64.zip

因为某些原因无法下载 go ,这里提供 zip 解压版本,可以帮助没有外网同学学习使用。go 因为是谷歌公司开源的的产品,虽然可以通过github 上面开源的源码编译,但是过于繁琐。

2020-03-19

java 反编译插件jad158,包含jadClipse.jar

jad反编译可以让开发者直接查看.class文件,并且可以将文件反编译成为jad文件或者 java文件。

2014-09-16

Java设计模式-图解-附代码-学习的好资料

新手可以明确思路,有经验者可以优化自己的逻辑。会敲代码不是能力,懂设计才是牛人。

2014-09-16

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

TA关注的人

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