自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(168)
  • 资源 (3)
  • 收藏
  • 关注

原创 从@Transactional注解看Spring事务

在使用Spring事务时,我们只需在某方法上使用@Transactional注解简单的标注一下,便可以实现很强大的事务控制功能,这其中的缘由,看小编娓娓道来; 首先需要明确:在spring事务的切面中,实际上是一个Around切面,在注解的业务方法前后都可以被调用,而实际上实现切面操作的是TransactionInterceptor类;[本篇我们先从实例代码...

2019-05-07 12:02:30 469 2

转载 Go语言开发(九)、Go语言并发编程

©著作权归作者所有:来自51CTO博客作者天山老妖S的原创作品   http://blog.51cto.com/9291927/2133903一、goroutine简介1、并发与并行简介并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执...

2018-12-17 10:26:21 501 2

转载 Golang---高并发

转载出处:http://blog.csdn.net/gophers/article/details/24665419golang从语言级别上对并发提供了支持,而且在启动并发的方式上直接添加了语言级的关键字。我并不会很多语言,而且也没有很多的项目经验,可能从我嘴里说出的比较不会非常客观,但是起码和C/C++(不考虑C++11)利用系统API来操作线程的方式相比,golang的并发机制运用起来就非...

2018-12-15 12:22:42 438

原创 @PostConstruct、构造函数和@AutoWired的执行顺序

很久之前使用了@PostConstruct注解,用来注入一些程序中需要的服务。时间久了,迷迷糊糊的不知道当时的使用场景是什么了。最近又遇到一个场景,赶紧整理一下。填坑前奏:在维护一个旧程序时,在某个类中,前一任攻城狮 写了一段这样的代码:public class AService { static Map<String, String> brandType = ne...

2018-12-10 16:24:36 5154 3

原创 Go语言带你一起飞--数据类型

Go语言和Java相同,支持多种数据类型,只是相对于Java来讲,有些数据类型发生了些许的变化。在Go中主要有整数类型、复数类型、数组类型、切片类型、字典类型和结构体类型。这几种类型与Java的对比整理如下:类型名称   GoJava整数类型10种整数类型4种复数类型complx64/complex128无数组类型与Java基本一致与Go基本没有差别字典类型本质上,字典类型是map的一种实现,用于...

2018-06-05 13:22:18 707

原创 Go语言带你一起飞--Go的垃圾回收

        相信熟悉某一门编程语言的攻城狮们,对它的垃圾回收一定不陌生,是不是曾经不止一次地受到jvm给准备的oom彩蛋!就问你:惊不惊喜,惊不惊悚?!      前段时间自己研究了一下Go语言,时隔这么些天,总该有这么一个机会将自己对Go的认知做一下沉淀,但相对于之前的系列博客,脑门一热打算先从它的垃圾回收开始整理,这里将结合一些java中的垃圾回收算法来做对比;对于java,我们可以从多个...

2018-04-16 15:56:16 902

原创 BigData进阶--Spark的RDD操作

在上篇博文中已经讨论过Spark的RDD和DataFrame,这篇就来探究一下RDD集的具体操作。   Spark中RDD是一个不可变的分布式对象集合,每个RDD都被分成多个分区,这些分区运行在集群中的不同节点上。用户可以通过两种方式来创建RDD集合:读取外部数据集和在驱动器程序里分发驱动器程序中的对象集合(比如list和set)。创建完成后,RDD支持转化操作和行为操作,通俗的来讲,就是将R

2017-12-26 18:09:35 711

原创 Zookeeper探究

zk是一个分布式服务管理矿建,主要用来解决分布式集群中应用系统的一致性问题。虽然zk的内部存储结构能提供基于类似文件系统的目录节点树的方式进行数据存储,但是zk不是专门做数据存储的,而是用来维护和监控存储的数据的状态变化。所谓“存储的数据”,就是某个服务提供者的地址。zk通过监控这些数据状态的额变化,可以达到基于数据的集群管理。✎ zk架构图    zk其实是一个基于观察者模式的分布式服务

2017-09-25 13:21:18 745 1

原创 透视Java8中的hashMap

在Java集合中,大家对hashMap的印象应该比较深刻吧?我们都知道,在2014年的3月份Java8就已经面世,但是都已经过去这么久了,不知道正在看此文的你是否对Java8相较于Java7的变化点有所了解??        我们都知道,截止到Java 7,hashMap的结构一直比较简单,采用经典的数组+链表的形式来完成数据的存储和数据读取,当向hashMap中放置元素产生冲突之后,则采用链

2017-09-13 14:30:10 577 3

原创 有volatile在,变量一定会安全吗?

在编程中,安全问题一直是我们关注的重点,能否确保程序在多线程的情况下实现安全,这应该一直是各位攻城狮们极其在意的。今天小编就和大家一起接着上篇博客继续聊一聊 关于原子性和可见性的问题!✎  什么是原子性      大家都知道,原子是构成物质的最小单位,所以可以将原子性理解成为不可分性,比如数据库中的第一范式,强调的列的原子性,即列不能再进行分割。而原子性在多线程的环境下,可以理解为某一个变

2017-09-08 14:27:40 2511 3

原创 单例模式双重校验的再理解

提起单例模式,作为攻城狮的你我都不会感觉到陌生,而为了确保在程序中的线程安全,我们常常会倾向于双重校验和静态类两种方式。而且众所周知,在双重校验的方式中,我们发现了关键字volatile的身影,而且一直以来小编只是知道 该关键字可以保证操作之间的可见性。但是只知其一啊,今天突然明白这其中的道理:public class Singleton { private volatile st

2017-09-06 16:33:43 3144 7

原创 解读一致性hash算法

熟悉hash算法的你,有没有对一致性hash算法也比较熟悉?     一致性hash算法的主要应用场景是在分布式的算法中,比如在一个缓存的分布式系统中,我们可以使用一致性hash算法实现间接的人为控制对每台服务器的缓存命中情况。一致性hash算法,可以理解成为了缓存系统在提供缓存服务过程中,更好的实现高可用,即在对服务器节点进行变更时,最大程度的减少对当前系统的影响。    下面一起来看一

2017-07-20 15:53:35 955 3

原创 hashMap原理解析

我们都知道,在hashMap中不论是计算key的hashcode还是为了使得hashMap中元素分布更均匀的场景,hash算法的能力都不可低估。今天,小编就和大家一起来分享在hashMap中hash算法的研究:        在述说原理之前,我们先来看一个hash算法在生活中的例子:        在某农场A,主人养了50头小猪,由于在生长期,主人需要定期地根据每头小猪的体重调整它们的“宿

2017-07-20 11:22:46 727 1

原创 咱们一起来谈谈,redis为什么快?

在程序媛的生涯中,设置缓存会想起它,控制并发会想到它,做一些压缩存储依旧会想到它,一直停留在知道的起点上,但是没有深入的去挖掘和总结它这么受欢迎的原因。近期天时地利人和,整理了一下它的点点滴滴。☁  和Memcached一较高低     记得前几年,项目中比较常用的还是Memcached,存储图像、视频,搭建集群也是样样都行。但是随着redis的发展,redis慢慢的融入到项目中,开始占有

2017-03-21 14:19:57 9868 5

原创 使用RSA加密算法完成支付(一)

直到今天,我才不再认为“RSA算法只在考试用过”,因为最近做的支付就用到了这个算法,我才可以有理有据地告诉我自己:“RSA不单单在考试用到啊!”。你要问我为什么,我只能告诉你,继续看下去!◔ 加密历史  不知道提到加密算法,正在看博客的你,最先想到的是哪种加密?    我只能告诉你,我最先想到的是公钥加密,这是一种很6的加密。因为在公钥加密出现之前,所有的加密都是一种模型: 1

2016-12-30 11:32:07 1882 4

原创 redis 的消息队列

每当提到“消息队列”,可能脑海中最快的反应是:kafka和activeMq,但是最近偶然间发现redis有作为简单的消息队列的功能。所以整理一下跟大家分享分享。一、消息队列的场景      我们都知道,消息是在两台计算机之间传送的数据单位,这个“消息”可以非常简单,例如只包含文本字符串,也可以更复杂,可能包含嵌入对象。而所谓的“消息队列”是在消息的传输过程中保存消息的容器。在web程序中,

2016-12-14 14:28:36 842 8

原创 node js 对cookie的操作

Cookie是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限制为4KB左右,是网景公司的前雇员 LouMontulli 在1993年3月的发明。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过在 Cookie中存入一段辨别用户身份的数据来实现的。在编程世界里,我们通常对它做这样的理解:Cookie是存储在浏览器的缓存,用户登录之后返回的token

2016-11-10 12:11:04 2519

原创 初识JMS

随着SOA(面向服务技术架构)的星期,越来越多的应用系统开始进行分布的设计和部署,系统由单一的技术架构变成面向服务的多系统架构,而原先的一个系统也开始向分布式系 统发展,随之产生的中间件技术不断发展,越来越广泛的应用到大部分系统中,而对于我们来讲,消息中间件被使用的范围越来越广。概述

2016-07-04 21:14:27 708 1

原创 spring的IOC容器

提到spring,我们总会想到它的三大核心功能:spring的事务+AOP + IOC;小编已经在前面的博客陆续介绍了事务和AOP ,在这里小编将与大家一起分享spring IOC上的理解和认识:       提到IOC,我们会想到依赖反转,依赖注入两个名词,那么什么是反转,用一句经典的话来说:Don't call  us ,we  will   call  you ! 当我们需要依赖某个类或

2016-06-21 11:16:01 836 3

原创 Spring 的AOP--spring框架动态实现AOP

spring中AOP代理由spring的IOC容器负责生成,管理,其依赖管理也由IOC容器负责管理,因此,AOP代理可以直接使用容器总的其他bean实例作为目标,这种管理可由IOC容器的依赖注入提供。spring默认使用java动态代理来创建AOP 代理,这样就可以为任何接口实例创建代理了。        spring也可以使用cglib的动态代理,关于jdk动态代理和cglib动态代

2016-06-21 10:27:01 940 6

原创 Spring 的AOP-AspectJ静态实现

在spring框架越来越风靡的时候,大家是否考虑过为什么spring如此受欢迎。spring的核心功能:IOC + AOP +事务管理;那么今天小编就带大家一起来深入了解spring的AOP:✪ 为什么需要AOP       在传统的OOP编程中以对象为核心,整个软件系统由一系列相互依赖的对象组成,而这些对象将被抽象成一个个类,并允许使用类的继承来管理类与类之间一般到特殊的关系。随着软件规

2016-06-20 17:34:52 1934 3

原创 细说java动态代理和cglib的动态代理

提到代理,想必大家对设计模式中的静态代理和动态代理都比较熟悉,小编之前在博客中对动态和静态代理进行了对比,这篇博文就只探讨java动态代理和cglib动态代理之间的区别;♚  静态代理的温习        在我们使用静态代理的时候,每一个代理类只能为一个接口提供服务,这这样一来在程序开发中会产生过多的代理,而且所有的代理操作除了调用的方法不一样之外,其他的操作都是相同的,这样就会造成过多的

2016-06-18 16:36:42 3328 5

原创 java反射,让代码充满活力(一)

在java编程的行当中,IT攻城狮们想必对反射这个字眼并不陌生,无论是我们想要在运行状态中获取任意一个类的所有属性或者方法,还是调用任意一个对象的方法和属性,甚至是修改它的某个属性和方法,我们都可以找java的反射机制来帮忙,让我们可以动态获取新和动态调用对象的方法,而这就是我们所熟悉的java的反射机制;         在本篇博文中,主要分为java反射概述,反射的常用方法,反射的静态和动

2016-06-08 11:43:44 918 2

原创 小议java中常用的定时任务

每当我们想在项目中定期去执行或者重复执行某一个操作,定时这个字眼总会自觉不自觉的浮现在脑海里。当我们并不熟悉任何定时器的时候,我们可能会选择使用线程来完成这个工作:package org.ysc.actionpublic class FinanceAction extends Thread{ private Date date; public void run{

2016-06-06 15:46:06 1047 3

原创 一起了解nginx-基本介绍+单点安装+基本应用

随着技术的发展,攻城狮们设计的程序已经可以对容错和访问分担负载进行免费的使用了,所以今天小编就带着大家一起去了解nginx,以及nginx的单点安装。1.什么是nginx      Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资

2016-05-17 19:10:00 820 3

原创 Quartz作业调度,不再让我们烦恼

✪  前言你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行过程中如果发生一个严重错误,应用能够知到其执行失败并尝试重新执行吗?你和你的团队是用java编程吗?如果这些问题中任何一个你回答是,那么你应该使用Quartz调度器。旁注:Matrix目前就大量使用到了Quartz。

2016-05-17 18:21:40 1869 5

原创 dubbo系列-Linux下zookeeper的安装

zookeeper作为dubbo服务的注册中心,zookeeper是一个分布式的服务框架,是树形的目录服务的数据存储,能做到集群管理数据,能更好的作为dubbo服务的注册中心;当提供者出现断电等异常情况停机时,zookeeper注册中心会自动删除提供者的信息,当提供者重启时,zookeeper能够自动恢复注册数据,以及订阅请求;今天小编就带领大家在Linux上安装单节点的zookeeper;☸

2016-05-16 14:26:57 673 5

原创 程序猿必备-分布式与集群

在很多程序中我们越来越多的接触分布式和集群,虽然两者不同,但是大家有没有仔细的想过两者之间有怎样的联系和区别呢??  众所周知,分布式是指 大量普通的PC服务器通过Internet互联,对外作为一个整体提供存储服务;而集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。               ☸   区别: 总的来说,分布式是并联工作的,而集

2016-05-12 11:12:01 1142 10

原创 趣谈Java变量的可见性问题

了解过多线程的我们,对synchorized,sleep和valatile都比较了解,但是当这三个名词和“Java变量得可见性”的话题联系在一起不知道大家是否还可以保持大脑清晰???最近看到一个关于Java变量可见性的问题,感觉比较新鲜就查了一些资料,下面分享给大家:首先给大家看一段关于多线程的执行代码:package com.test;import java.util.concur

2016-05-06 20:59:06 2239 5

原创 Java中的多线程

在Java中一个很重要的基础就是线程,而每次提到线程大家必想到的是进程,所以在总结Java多线程之前我们先对进程和线程进行一下区分:

2016-04-25 16:48:11 912 16

原创 Shiro学习之身份验证

小编在shiro 学习第一步中写了对shiro的架构原理,组件的基本认识进行了总结和说明,这篇博客就带着大家实现shiro学习中的第一个例子--身份认证:➷  环境搭建:1.maven的配置打开eclipse,根据路径windows-->preference -->Maven-->User  settings 打开下图中的界面:在图中的红色框内显示的配置文件中配置maven中央

2016-04-24 15:26:29 740 11

原创 Spring的事务及五种配置方式

SSH框架风靡整个IT行业,而作为该框架中的管理员,Spring负责管理其他的框架,协调各个部分的工作。那么今天小编就带大家一起学习Spring的事务管理和不同的配置方式:*  Spring配置文件中关于事务配置的有三个部分:datasource,TransactionManager和代理机制,无论是哪种配置方式,一般的变化只是代理机制这部分;*   DataSource、Tr

2016-03-23 10:02:54 2005 8

原创 静态代理和动态代理的再学习

学过设计模式的编友们,一定对代理模式很熟悉,最近在学习中发现Spring中更好的使用了动态带来来降低耦合,提高代码复用性,那么为什么要使用动态代理?动态代理和我们之前使用的普通代理有什么区别和好处? ♔ 预热代理模式            代理是代替某个对象去控制目标对象,且代理类不会改变原来的接口,在代理的同时控制相关的目标;代理类和真实对象目的相同;♔ 情景设置

2016-01-05 17:30:32 1689 2

原创 从源码看Spring事务

通过上一篇《从@Transactional注解看Spring事务》,已经大概了解了事务中的基本使用。这一篇,小编跟大家一起通过Spring中几个重要源码类来增加对Spring事务的了解; 在Spring中实现事务需要很多类的配合,但这里小编主要分析这几个类:TransactionDefinition、PlatformTransactionManager、Transact...

2019-06-06 16:01:02 453

原创 BigData进阶--Spark中的函数与符号

刚接触spark不久,整理一些常用的方法与大家分享:1.Character.isDigit()     判断是否为数字2.Character.isLetter():   判断是否为字母3.ToList.takeWhile(x=>x != B):    takeWhile的判断结果是Boolean,只要x值不等于B,则继续取;否则停止取元素的操作4.map函数:

2017-12-26 18:08:14 1174

原创 BigData进阶--细说RDD,DataFrame,Dataset的区别

在spark中有重要的组件SparkContext和SQLContext,在读取数据文件时我们可以通过这两个组件进行不同形式的读取,比如:val conf = new SparkConf().setMaster("local").setAppName("testRead")val sc = new SparkContext(conf)val readFile = sc.textFil

2017-12-26 18:06:10 3654 2

原创 BigData进阶--hdfs常用命令

1.将/a目录移动到/b下,并重命名为cmv /a /b/c其实在文本模式中要重命名文件或目录,只需要使用mv命令就可以了,比如说要将一个名为abc的文件重命名为1234:mv abc 12342.删除某文件rm -f路径文件3.rz上传  sz下载4.打包单个文件压缩打包 tar czvfmy.tar.gz file1多个文件压

2017-10-31 16:25:52 470 1

原创 BigData进阶--hdfs中SecondaryNameNode的作用

首先需要明确的是SecondaryNameNode不是NameNode的备份,只是解决NameNode的部分问题。一、明确NameNode的作用NameNode主要是用来保存HDFS的元数据信息,比如命名空间信息,块信息等。当它运行的时候,这些信息是存在内存中的。但是这些信息也可以持久化到磁盘上。       上面的这张图片展示了NameNode怎么把元数据保存到磁盘上的。

2017-10-31 16:25:17 2214

原创 Java实现Spark程序中的坑坑洼洼

最近在Windows环境下搭建了一套Spark的环境,用Java实现了几个基于Spark的程序,这个过程中遇见了很多问题,可能是由于不太熟悉,所以在解决问题的过程中花费了很长的时间,所以小编把遇到的问题整理在这里,希望可以帮大家少走弯路:1.错误提示:Exception in thread"main" java.lang.SecurityException: class"javax

2017-10-12 17:39:41 619 1

原创 Java校验输入的身份证号

在程序中我们总免不了对用户输入的数据进行上层校验,将格式不正确的数据直接拦截在调用整个方法之前,这样不仅能让用户很明确地知道自己输入的数据是否正确,错误的原因,还一定程度上提高了方法的效率。小编在最近的工作中,整理了关于身份证号的验证方式:I 使用最朴实的Java代码实现    我们都知道身份证号的组成受地区、出生年月的影响,所以工具类中自然少不了对这两个要素的判断:// 地区集合

2017-06-18 11:28:37 1542 1

高级软考真题(17.11-19.05).zip

高级软考从2017年11月进行了改版,上传的文档中仅包括2017年11月改版以来到2019年05的真题及解析,下载后可直接打印。答案解析准确,详细,若需要2017年11月之前的可直接在我的博客下方留下邮箱,我会把其他年份的真题和解析都发送给大家。

2019-12-19

hadoop/bin文件

解决hadoop中java.io.IOException: Could not locate executable ${hadoop解压路径}\bin\winutils.exe in the Hadoop binaries的问题;

2017-10-12

空空如也

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

TA关注的人

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