- 博客(206)
- 收藏
- 关注
转载 Spark架构解析(转)
Application:Application是创建了SparkContext实例对象的Spark用户,包含了Driver程序,Spark-shell是一个应用程序,因为spark-shell在启动的时候创建了一个SparkContext对象,其名称为sc,也就是说只要创建一个SparkContext就有对应的application,而一个action对应一个driver....
2018-07-20 12:10:00
182
转载 SQL的各种连接Join详解
原文地址:https://www.cnblogs.com/reaptomorrow-flydream/p/8145610.htmlSQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN)、SQL LEFT JOIN、SQL RIGHT JOIN、SQL FULL JOIN,其中...
2018-07-19 16:56:00
176
转载 Log4j详细配置解释
原文地址:https://www.cnblogs.com/godtrue/p/6444158.htmllog4j(七)——log4j.xml简单配置样例说明一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述二:老规矩,先来个栗子,然后再聊聊感受(1)这里栗子有一点特别呀!给出了包名唉!想必有用,是的,配置文件中要特别说明一下的...
2018-07-17 14:09:00
168
转载 Log4j配置
log4j2.0以后我们通常在log4j2.xml中配置相关参数,在配置的时候我们需要理解这些参数的具体含义,下面列出了这些参数的解释。1、Logger 完成日志信息的处理<logger name="com.srd.ljzd" level="INFO" additivity="true"> <appender-ref ref="INFO" /&...
2018-07-17 14:02:00
133
转载 高可用Redis服务架构分析与搭建(单redis实例)
原文地址:https://www.cnblogs.com/xuning/p/8464625.html基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统...
2018-02-28 17:25:00
84
转载 vloatile总结与synchronized对比
原文地址;https://www.cnblogs.com/xiaoxian1369/p/5411877.html1、要使volatile变量提供理想的线程安全,必须同时满足以下两个条件:1)、对变量的写操作不依赖于当前值;2)、该变量没有包含在具有其他变量的不变式中。第一个条件的限制使volatile变量不能用作线程安全的计数器。虽然增了操作(x++)看上去类似一个单独操作,实际...
2018-02-02 09:55:00
191
转载 http的keep-alive和tcp的keepalive区别
原文地址:http://blog.csdn.net/oceanperfect/article/details/510645741、HTTP Keep-Alive在http早期,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。通过使用ke...
2018-02-01 23:01:00
107
转载 java ReentrantLock可重入锁的使用场景
摘要从使用场景的角度出发来介绍对ReentrantLock的使用,相对来说容易理解一些。场景1:如果发现该操作已经在执行中则不再执行(有状态执行)a、用在定时任务时,如果任务执行时间可能超过下次计划执行时间,确保该有状态任务只有一个正在执行,忽略重复触发。b、用在界面交互时点击执行较长时间请求操作时,防止多次点击导致后台重复执行(忽略重复触发)。以上两种情况多用于进行非重...
2018-02-01 22:56:00
103
转载 Thread的中断机制(interrupt)
https://www.cnblogs.com/onlywujun/p/3565082.html中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不...
2018-02-01 22:50:00
82
转载 Java 线程的终止-interrupt
Java线程的终止——interrupt取消/关闭的场景我们知道,通过线程的start方法启动一个线程后,线程开始执行run方法,run方法运行结束后线程退出,那为什么还需要结束一个线程呢?有多种情况,比如说:很多线程的运行模式是死循环,比如在生产者/消费者模式中,消费者主体就是一个死循环,它不停的从队列中接受任务,执行任务,在停止程序时,我们需要一种”优雅”的方法以关闭该线程...
2018-02-01 22:49:00
88
转载 备注
http://blog.csdn.net/d12345678a/article/details/54376784http://blog.csdn.net/sbq63683210/article/details/52903039转载于:https://www.cnblogs.com/yixianyixian/p/8387618.html
2018-01-30 22:13:00
108
转载 SQL的优化1
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: ...
2018-01-30 21:53:00
52
转载 java 死锁产生原因及解锁(转)
原文地址进程死锁及解决办法一、要点提示(1)掌握死锁的概念和产生死锁的根本原因。(2)理解产生死锁的必要条件--以下四个条件同时具备:互斥条件、不可抢占条件、占有且申请条件、循环等待条件。(3)记住解决死锁的一般方法,掌握死锁的预防和死锁的避免二者的基本思想。(4)掌握死锁的预防策略中资源有序分配策略。(5)理解进程安全序列的概念,理解死...
2018-01-29 09:26:00
83
转载 spring事务管理(详解和实例)
原文地址:写这篇博客之前我首先读了《Spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解Spring事务配置的五种方式Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。...
2018-01-28 23:08:00
64
转载 MyBaits面试题
原文地址Mybatis技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用Mybatis的文章,所以,一些参数使用细节略掉了,我们的目标是介绍Mybatis的技术架构和重要组成部分,以及基本运行原理。博客写的很辛苦,但是写出来却不一定好看,所谓开始很兴奋,过程很痛苦,结束很遗憾。要求不高,只要读者能从系列博客中,学...
2018-01-28 23:04:00
161
转载 JVM调优-工具篇
原文地址16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化。工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题,长长可以到达事半功倍的效果来。...
2018-01-28 22:37:00
66
转载 mysql 索引
参考http://blog.codinglabs.org/articles/theory-of-mysql-index.html转载于:https://www.cnblogs.com/yixianyixian/p/8359773.html
2018-01-26 15:27:00
53
转载 缓存穿透,缓存击穿,缓存雪崩解决方案分析
原文地址前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏...
2018-01-26 15:20:00
119
转载 redis学习笔记 - Pipeline与事务
原文Redis提供了5种数据结构,但除此之外,Redis还提供了注入慢查询分析,Redis Shell、Pipeline、事务、与Lua脚本、Bitmaps、HyperLogLog、PubSub、GEO等附加功能,这些功能可以在某些场景发挥很重要的作用.Pipeline1. Pipeline概念Redis客户端执行一条命令分为以下四个步骤:1.发送命令2.命令...
2018-01-25 22:44:00
50
转载 ThreadLocalMap里Entry声明为WeakReference
Java里,每个线程都有自己的ThreadLocalMap,里边存着自己私有的对象。Map的Entry里,key为ThreadLocal对象,value即为私有对象T。在spring MVC中,常用ThreadLocal保存当前登陆用户信息,这样线程在任意地方都可以取到用户信息了。public class UserContext { private static...
2018-01-23 10:47:00
208
转载 Java并发编程:深入剖析ThreadLocal
原文Java并发编程:深入剖析ThreadLocal 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLoc...
2018-01-23 10:44:00
51
转载 mysql的索引设计原则以及常见索引的区别
索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针.数据库索引的设计原则:为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。那么索引设计原则又是怎样的?1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个...
2018-01-18 16:08:00
67
转载 MySql索引建立规则
为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。本小节将向读者介绍一些索引的设计原则。1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。2.为经常需要排序、分组和...
2018-01-18 15:56:00
68
转载 OSGI简介(转)
原文地址目前,业内关于OSGI技术的学习资源或者技术文档还是很少的。我在某宝网搜索了一下“OSGI”的书籍,结果倒是有,但是种类少的可怜,而且几乎没有人购买。因为工作的原因我需要学习OSGI,所以我不得不想尽办法来主动学习OSGI。我将用文字记录学习OSGI的整个过程,通过整理书籍和视频教程,来让我更加了解这门技术,同时也让需要学习这门技术的同志们有一个清晰的学习路线。我们需要解决一...
2018-01-18 14:35:00
85
转载 【Java线程】锁机制:synchronized、Lock、Condition(转)
原文地址1、synchronized把代码块声明为synchronized,有两个重要后果,通常是指该代码具有原子性(atomicity)和可见性(visibility)。1.1 原子性原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多个线程在更新共享状态时相互冲突。1.2 可见性可见性则更为...
2018-01-08 17:58:00
63
转载 通过反编译深入理解Java String及intern
原文地址一、字符串问题 字符串在我们平时的编码工作中其实用的非常多,并且用起来也比较简单,所以很少有人对其做特别深入的研究。倒是面试或者笔试的时候,往往会涉及比较深入和难度大一点的问题。我在招聘的时候也偶尔会问应聘者相关的问题,倒不是说一定要回答的特别正确和深入,通常问这些问题的目的有两个,第一是考察对 JAVA 基础知识的了解程度,第二是考察应聘者对技术的态度。...
2018-01-08 17:42:00
70
转载 JAVA CAS原理深度分析
原文地址看了一堆文章,终于把JAVA CAS的原理深入分析清楚了。感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到!参考文档:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp://blog.hesey.net/2011/09/resolve-aba-by-atomic...
2018-01-04 17:14:00
63
转载 Java类加载原理解析
原文1 基本信息 每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型和java语言的动态性都有...
2017-12-29 17:19:00
50
转载 java ClassLoader类加载器
原文首先来了解一下字节码和class文件的区别:我们知道,新建一个java对象的时候,JVM要将这个对象对应的字节码加载到内存中,这个字节码的原始信息存放在classpath(就是我们新建Java工程的bin目录下)指定的目录下的.class文件,类加载需要将.class文件导入到硬盘中,经过一些处理之后变成字节码在加载到内存中。下面来看一下简单的例子:[j...
2017-12-29 17:16:00
49
转载 Java AQS详解(转)
原文地址一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。...
2017-12-28 15:46:00
51
转载 Java中synchronized
原文地址synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种:1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这...
2017-12-28 15:29:00
44
转载 AOP-execution表达式
待更新转载于:https://www.cnblogs.com/yixianyixian/p/8080673.html
2017-12-21 15:08:00
481
转载 Spring AOP
一、AOP介绍AOP(Aspect Orient Programming),作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务,如事务管理、安全检查、缓存、对象池管理等。AOP 实现的关键就在于 AOP 框架自动创建的 AOP 代理,AOP 代理则可分为静态代理和动态代理两大类,其中静态代理是指使用 AOP 框架提供的命令进行编译,从而在编译阶段就可生成 AOP ...
2017-12-21 09:54:00
63
转载 Java并发编程:volatile关键字解析
转自:http://www.cnblogs.com/dolphin0520/p/3920373.htmlJava并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 vol...
2017-12-19 15:12:00
47
转载 Spring IOC 容器源码分析(转)
原文地址Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相关的一些问题。阅读建议:读者至少需要知道怎么配置 ...
2017-12-14 08:43:00
106
转载 ZooKeeper原理及使用(转)
原文地址ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇文章分为三个部分来介绍ZooKeeper,第一部分介绍ZooKeeper的基本原理,第二部分介绍ZooKeeper提供的Client API的使用,第三部分介绍一些ZooKeep...
2017-12-13 10:06:00
48
转载 Java8系列之重新认识HashMap(转)
转自美团电瓶技术团队:原文地址简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1) HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值...
2017-12-13 08:36:00
56
转载 Java虚拟机类加载机制——案例分析
在《Java虚拟机类加载机制》一文中详细阐述了类加载的过程,并举了几个例子进行了简要分析,在文章的最后留了一个悬念给各位,这里来揭开这个悬念。建议先看完《Java虚拟机类加载机制》这篇再来看这个,印象会比较深刻,如若不然,也没什么关系~~下面是程序代码:package jvm.classload;public class StaticTest{ publi...
2017-11-27 09:44:00
76
转载 Java虚拟机类加载机制——案例分析
原文地址:http://blog.csdn.net/u013256816/article/details/50829596看到这个题目,很多人会觉得我写我的java代码,至于类,JVM爱怎么加载就怎么加载,博主有很长一段时间也是这么认为的。随着编程经验的日积月累,越来越感觉到了解虚拟机相关要领的重要性。闲话不多说,老规矩,先来一段代码吊吊胃口。public class SSC...
2017-11-27 09:29:00
53
转载 设计模式详解(转)
http://www.jasongj.com/tags/Design-Pattern/转载于:https://www.cnblogs.com/yixianyixian/p/7877629.html
2017-11-22 09:23:00
43
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人