自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

易雪寒的博客

欲明明德者,致知在格物

  • 博客(48)
  • 收藏
  • 关注

转载 TensorFlow深度学习,一篇文章就够了

作者: 陈迪豪,就职小米科技,深度学习工程师,TensorFlow代码提交者。TensorFlow深度学习框架Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow。与Caffe、Theano、Torch、MXNet等框架相比,TensorFlow在Github上Fork数和Star数都是最多的,而且在...

2018-03-28 00:59:47 7922 1

转载 分布式系统的理解

1. 如何理解“分布式”?     经常听到”分布式系统“,”分布式计算“,”分布式算法“。分布式的具体含义是什么?狭义的分布是指,指多台PC在地理位置上分布在不同的地方。2. 分布式系统    分布式系统:多个能独立运行的计算机(称为结点)组成。各个结点利用计算机网络进行信息传递,从而实现共同的“目标或者任务”。    分布式程序: 运行在分布式系统上的计算机程序。    分布式计算:利用分布式...

2018-03-27 00:55:49 505

转载 各种排序算法比较

一、基本排序算法1. 冒泡排序    假如我们现在按身高升序排队,一种排队的方法是:从第一名开始,让两人相互比身高,若前者高则交换位置,更高的那个在与剩下的人比,这样一趟下来之后最高的人就站到了队尾。接着重复以上过程,直到最矮的人站在了队列首部。我们把队头看作水底,队尾看作水面,那么第一趟比较下来,最高的人就像泡泡一样从水底”冒“到水面,第二趟比较则是第二高的人……排队的过程即为对数据对象进行排序...

2018-03-24 01:19:07 823

转载 数据库事务的四大特性

数据库系统必须维护事务的以下特性(简称ACID):  原子性(Atomicity)  一致性(Consistency)  隔离性(Isolation)  持久性(Durability)⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency...

2018-03-24 00:46:10 1588

转载 AOP的实现的几种方式

静态AOP在编译期,切面直接以字节 码的形式编译到目标字节 码文件中。AspectJ属于静态AOP,是在编译时进行增强,会在编译的时候将AOP逻辑织入到代码中,需要专有的编译器和织入器。优点:被织入的类性能不受影响。缺点:不够灵活动态AOPJDK动态代理在运行期,目标类加载后,为接口动态生成代理类,将切面植入到代理类中。Java从1.3引入动态代理。实现原理是为被代理的业务接口生成代理类,将AOP...

2018-03-24 00:42:04 449

转载 HashMap在Java1.7与1.8中的区别

HashMap在Java1.7与1.8中的区别基于JDK1.7.0_80与JDK1.8.0_66做的分析 JDK1.7中使用一个Entry数组来存储数据,用key的hashcode取模来决定key会被放到数组里的位置,如果hashcode相同,或者hashcode取模后的结果相同(hash collision),那么这些key会被定位到Entry数组的同一个格子里,这些key会形成一个链表。在ha...

2018-03-24 00:35:50 169

原创 Redis应用2-Redis实现开发者头条页面点赞功能

开发者头条是一个资源丰富的程序猿学习网站。当网站发布新的内容的时候,内容优秀的总是会被点赞。今天就利用Redis实现这个小小的功能。为什么使用Redis而不是MySQL实现?Redis 和 MySQL应用场景不同。 从效率来说: Redis的数据存放在内存,所以速度快但是会受到内存空间限制。 MySQL存放在硬盘,在速度上肯定没有Redis快,但是存放的数据量要多的多。...

2018-03-24 00:19:41 295

转载 java多线程的常见例子

一.相关知识: Java多线程程序设计到的知识:(一)对同一个数量进行操作(二)对同一个对象进行操作(三)回调方法使用(四)线程同步,死锁问题(五)线程通信 等等  二.示例一:三个售票窗口同时出售20张票; 程序分析:1.票数要使用同一个静态值 2.为保证不会出现卖出同一个票数,要java多线程同步锁。设计思路:1.创建一个站台类Station,继承Thread,重写run方法,在run方法里面...

2018-03-22 00:52:40 36049 12

原创 聊聊分布式事务,再说说解决方案

前言最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行CAP的下一阶段的开发工作,不过目前已经告一段落了。接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事...

2018-03-21 12:00:01 280

转载 Java transient关键字使用小记

哎,虽然自己最熟的是Java,但很多Java基础知识都不知道,比如transient关键字以前都没用到过,所以不知道它的作用是什么,今天做笔试题时发现有一题是关于这个的,于是花个时间整理下transient关键字的使用,涨下姿势~~~好了,废话不多说,下面开始:1. transient的作用及使用方法我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列...

2018-03-21 10:22:54 122

转载 Java单链表、双端链表、有序链表实现

单链表:insertFirst:在表头插入一个新的链接点,时间复杂度为O(1)deleteFirst:删除表头的链接点,时间复杂度为O(1)有了这两个方法,就可以用单链表来实现一个栈了,见http://blog.csdn.net/a19881029/article/details/22579759find:查找包含指定关键字的链接点,由于需要遍历查找,平均需要查找N/2次,即O(N)remove:...

2018-03-20 16:33:56 136

转载 spring boot入门 -- 介绍和第一个例子

“越来越多的企业选择使用spring boot 开发系统,spring boot牛在什么地方?难不难学?心动不如行动,让我们一起开始学习吧!”使用Spring boot ,可以轻松的创建独立运行的程序,非常容易构建独立的服务组件,是实现分布式架构、微服务架构利器。Spring boot简化了第三方包的引用,通过提供的starter,简化了依赖包的配置。 Spring boot的优点轻松创建独立的S...

2018-03-20 14:28:13 1024 1

转载 Spring Boot 入门之基础篇(一)

原文地址:Spring Boot 入门之基础篇(一)博客地址:http://www.extlight.com一、前言Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。本系列以快速入门为主,可当作工具小手册阅读二、环境搭建创建一个 maven 工...

2018-03-20 14:27:33 143

转载 【Java 并发】详解 ThreadLocal

目录前言线程局部变量使用示例具体实现ThreadLocalMap副本变量存取ThreadLocal 散列值应用场景参考文章 前言ThreadLocal 主要用来提供线程局部变量,也就是变量只对当前线程可见,本文主要记录一下对于 ThreadLocal 的理解。更多关于 Java 多线程的文章可以转到 这里。线程局部变量在多线程环境下,之所以会有并发问题,就是因为不同的线程会同时访问同一个共享变量,...

2018-03-20 12:01:30 149

转载 通俗易懂地讲解TCP建立连接的三次握手和释放连接的四次挥手

TCP建立连接时,为什么要进行三次挥手?  每一次TCP连接都需要三个阶段:连接建立、数据传送和连接释放。三次握手就发生在连接建立阶段。 在谢希仁著《计算机网络》第四版中讲三次握手的目的是为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。在另一部经典的《计算机网络》一书中讲三次握手的目的是为了解决网络中存在延迟的重复分组的问题。   这两种不用的表述其实阐明的是同一个问题。  谢希...

2018-03-20 11:59:01 203

转载 springcloud(一):大话Spring Cloud

研究了一段时间Spring Boot了准备向Spring Cloud进发,公司架构和项目也全面拥抱了Spring Cloud。在使用了一段时间后发现Spring Cloud从技术架构上降低了对大型系统构建的要求,使我们以非常低的成本(技术或者硬件)搭建一套高效、分布式、容错的平台,但Spring Cloud也不是没有缺点,小型独立的项目不适合使用。Spring Cloud是什么鬼?Spring C...

2018-03-20 10:53:58 193

转载 java的concurrent用法详解

我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的...

2018-03-19 17:08:39 164

转载 zookeeper入门与实践

原理http://cailin.iteye.com/blog/2014486其实原理简单来说,就是要选举leader,会生成一个zxid,然后分发给所有的server(所以这里一台server可以接受多台server给他发送要选举leader的请求),然后各个server根据发送给自己的zxid,选择一个值最大的,然后将这个选择返回给发送这个zxid的server,只要这个server收到的答复大...

2018-03-19 15:32:04 1255

转载 90%程序员面试会遇到的索引优化问题

前言本文给大家分享了90%程序员面试都用得上的索引优化,重点提一下,索引基本原理和创建索引的原则是重点,面试基本必问!大家可以收藏好多理解理解。下面来一起看看详细的介绍吧。关于索引,分为以下几点来讲解(技术文):索引的概述(什么是索引,索引的优缺点)索引的基本使用(创建索引)索引的基本原理(面试重点)索引的数据结构(B树,hash)创建索引的原则(重中之重,面试必问!敬请收藏!)百万级别或以上的数...

2018-03-16 14:47:26 251

转载 Redis基础总结

转自:http://www.jb51.net/article/56448.htm1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis数据结构 – strings9.redis数据结构 – lists10.redis数据结构 – 集合11.redis数据结构 – 有序集...

2018-03-15 23:07:03 179

转载 消息队列使用的四种场景介绍

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注...

2018-03-15 22:10:23 123

转载 MyBatis中调用存储过程和函数

一.调用存储过程   1.首先在数据库中定义存储过程,定义的存储过程的代码如下:  //定义存储过程create or replace procedure pag_add(p1 varchar2,p2 varchar2,p3 out varchar2) as begin p3:=p1+p2; end;//定义函数create or replace...

2018-03-14 13:10:41 1818

转载 MySQL中的行级锁,表级锁,页级锁

在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足。在数据库的锁机制中介绍过,在DBMS中,可以按照锁的粒度把数据库锁分为行级锁(INNODB引擎)、表级锁(MYISAM引擎)和页级锁(BDB引擎 )。行级锁行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也...

2018-03-14 12:50:08 171

转载 长连接、短连接、长轮询和WebSocket

原文链接:http://caibaojian.com/http-connection-and-websocket.html对这四个概念不太清楚,今天专门搜索了解一下,总结一下:长连接:在HTTP 1.1,客户端发出请求,服务端接收请求,双方建立连接,在服务端没有返回之前保持连接,当客户端再发送请求时,它会使用同一个连接。这一直继续到客户端或服务器端认为会话已经结束,其中一方中断连接。优势:减少了连...

2018-03-14 12:46:22 322

转载 redis配置文件详解

Redis是一个高性能的key-value数据库。  Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。  Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。  Redis支持数据的备份,即master-slave模式的数据备份。 为了更好的使用redis,我们需要详细的了解redis配...

2018-03-14 12:27:38 243

转载 Java集合及concurrent并发包总结

1.集合包    集合包最常用的有Collection和Map两个接口的实现类,Colleciton用于存放多个单对象,Map用于存放Key-Value形式的键值对。  Collection中最常用的又分为两种类型的接口:List和Set,两者最明显的差别为List支持放入重复的元素,而Set不支持。List最常用的实现类有:ArrayList、LinkedList、Vector及Stack;Se...

2018-03-14 11:55:56 146

转载 深入学习理解java:CountDownLatch详解

今天在公司学习看到了它,翻一番文档,正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟CountDownLatch相关的以下几点:CountDownLa...

2018-03-14 11:15:50 502

转载 ajax跨域问题以及解决方案

在工作中,大家应该都遇到过ajax跨域问题,浏览器的错误如下:XMLHttpRequest cannot load http://目标地址No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://当前页面地址' is therefore not allowed acces...

2018-03-12 14:24:16 144

转载 Java内存溢出详解及解决方案

内存溢出与数据库锁表的问题,可以说是开发人员的噩梦,一般的程序异常,总是可以知道在什么时候或是在什么操作步骤上出现了异常,而且根据堆栈信息也很容易定位到程序中是某处出现了问题。内存溢出与锁表则不然,一般现象是操作一般时间后系统越来越慢,直到死机,但并不能明确是在什么操作上出现的,发生的时间点也没有规律,查看日志或查看数据库也不能定位出问题的代码。更严重的是内存溢出与数据库锁表在系统开发和单元测试阶...

2018-03-12 10:27:18 14786 1

转载 INSERT INTO SELECT语句与SELECT INTO FROM语句区别

1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1或者:Insert into Table2 select * from Table1注意: (1)要求目标表Table2必须存在,并且字段field,field2…也必须存在(2)注意Table2的主键约...

2018-03-12 09:57:16 2188

转载 SQL经典面试题及答案

1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名name kecheng fenshu 张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文 81王五 数学 100王五 英语 90A: select distinct name from table where name not in (select distinct name from table where ...

2018-03-12 00:21:18 1459

转载 数据事务四种隔离机制和七种传播行为

一、隔离级别:数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。1. ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。      这种隔离级别会产生脏读...

2018-03-11 00:21:37 4137

转载 基于Dubbo框架构建分布式服务

Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选...

2018-03-08 16:37:44 146

转载 Kafka简单客户端编程实例

今天,我们给大家带来一篇如何利用Kafka的API进行客户端编程的文章,这篇文章很简单,就是利用Kafka的API创建一个生产者和消费者,生产者不断向Kafka写入消息,消费者则不断消费Kafka的消息。下面是具体的实例代码。一、创建配置类Config这个类很简单,只是存放了两个常量,一个是话题TOPIC,一个是线程数THREADS?123456789101112131415161718packa...

2018-03-07 22:14:39 1101

转载 阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了

1.源码分析专题详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。知其然,并知其所以然。把知识变成自己的2.分布式架构互联网时代,系统架构如何迎接高并发流量的挑战。而作为技术开发者,如何去应对技术变革带来的技能危机。基于传统架构到分布式架构演变过程所带来的技术变革进行全面深入讲解。在技术深度和技术广度上...

2018-03-07 15:02:47 174

转载 MySQL高级查询——连接查询实例详解

前言我们使用SQL查询不能只使用很简单、最基础的SELECT语句查询。如果想从多个表查询比较复杂的信息,就会使用高级查询实现。常见的高级查询包括多表连接查询、内连接查询、外连接查询与组合查询等,今天我们先来学习最常用、面试也很容易被问到的连接查询。我们今天以一个简单的学生信息表(学生ID、学生姓名、学生性别)与一个学生成绩表(学生ID、学生成绩、成绩等级)作演示:student_info表:stu...

2018-03-06 15:32:09 157

转载 springmvc知识点整理

1.Springmvc架构2.Springmvc组件三大组件:处理器映射器,处理器适配器,视图解析器处理器映射器:注解式处理器映射器,对类中标记了@ResquestMapping的方法进行映射,根据@ResquestMapping定义的url匹配@ResquestMapping标记的方法,匹配成功返回HandlerMethod对象给前端控制器。<!-- 配置处理器映射器 --><...

2018-03-06 14:06:59 126

转载 Java值传递与引用传递问题

值传递与引用传递最近学基础的时候,老师讲了值传递和引用传递,这个问题一直不太明白,上网查了很多资料,按照自己的理解整理了一遍,发现之前不太明白的地方基本上想明白了,如有不正确的地方,欢迎指正,谢谢。首先要说明的是java中是没有指针的,java中只存在值传递,只存在值传递!!!  然而我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递,可以改变对象中某个属性的值。但是不要被这个假象所蒙...

2018-03-05 11:10:07 140

转载 Java提高篇之hashCode

在前面三篇博文中LZ讲解了(HashMap、HashSet、HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最精华的部分,所以下面LZ揭开hashCode的“神秘”面纱。hashCode的作用要想了解一个方法的内在原理,我们首先需要明白它是干什么的,也就是这个方法的作用。在讲解数组时(java提高篇(十八)——数组),我...

2018-03-05 11:04:37 141

转载 JAVA多线程实现的四种方式

Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。 1、继承Thread类创建线程Thread类本质上是实现了Runnable接口的一个实例,...

2018-03-05 00:51:06 125

空空如也

空空如也

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

TA关注的人

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