自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (2)
  • 收藏
  • 关注

原创 百度地图API,根据经纬度实现车辆移动轨迹绘制

百度地图,实现车辆轨迹绘制实现思路:1.根据经纬度实现车辆轨迹绘制2.使用百度地图API的两个覆盖物实现,Polyline(折线)绘制轨迹,Marker(图标)绘制小车图标3.将每两个坐标间连线起来,形成连贯的轨迹线路4.生成下一个图标后删除上一个绘制的图标,形成小车移动动画感5.本例使用的是临近的随机坐标点6.初学者,欢迎大家交流学习

2017-03-31 21:10:17 5101 2

原创 详细理解servlet实现的几种方式和生命周期

阅读目录开发servlet的三种方式理解实现servlet接口的方式,理解servlet生命周期Servlet接口有五个方法继承GenericServlet继承HttpServlet现在很多的开发都是用的框架,然后很多同学学习的时候又是直接接触的框架,对于底层的一些开发,完全没有任何的了解。虽然对于业务上面来说,没有什么问题。但是很多时候当你被面试问到,或者是想要了解框架底层原

2017-03-31 21:03:16 335

原创 mybatis增删改查与批量操作

本文内容主要介绍单条记录的增删改查操作,MyBatis提供了很多完成单条记录的增删改查操作的API。本例主要讲述 UserMapper org.apache.ibatis.session.SqlSession.getMapper(Class clazz)的使用。使用此API,我们需要创建UserMapper操作接口,函数名和MyBatis的User.xml配置文件中的操作id名对应。

2017-03-31 10:24:44 338

原创 使用Storm实现实时大数据分析

摘要:随着数据体积的越来越大,实时处理成为了许多机构需要面对的首要挑战。Shruthi Kumar和Siddharth Patankar在Dr.Dobb’s上结合了汽车超速监视,为我们演示了使用Storm进行实时大数据分析。CSDN在此编译、整理。简单和明了,Storm让大数据分析变得轻松加愉快。当今世界,公司的日常运营经常会生成TB级别的数据。数据来源囊括了互联网装置可以捕获

2017-03-31 10:09:34 177

原创 数据库原理

B树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:              B树的搜索,从根结点开始,如果查询的关键字与结点的关

2017-03-30 20:31:55 555

原创 非阻塞同步算法与CAS(Compare and Swap)无锁算法

锁(lock)的代价锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很大的损失。用户态的锁虽然避免了这些问题,但是其实它们只是在没有真实的竞争时才有效。Java在JDK1.5之前都是靠syn

2017-03-29 14:39:35 298

原创 堆:新生代、老年代 以及minor GC 、full GC

Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收。堆的内存模

2017-03-29 10:06:34 2161

原创 JDK中使用到的23个经典设计模式

A. 创建模式Singleton(单态):只允许一个实例[java] view plain copyRuntime.getRuntime();  java.awt.Toolkit.getDefaultToolkit();  java.awt.GraphicsEnvironment.getLocalGraphicsEnvironme

2017-03-29 09:47:39 82

原创 方法锁、对象锁、类锁

java synchronized同步方法调用另一个同步方法,锁机制问题public synchronized void methodA(int a, int b);public synchronized void methodB(int a){methodA(a, 0);}要明白两个问题,1.锁的对象是谁,2.谁持有了锁。假设方法A和B

2017-03-29 09:37:43 546

原创 JDK中设计模式

本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。一、设计模式是什么(1)反复出现问题的解决方案(2)增强软件的灵活性(3)适应软件不断变化二、学习JDK中设计模式的好处(1)借鉴优秀代码的设计,有助于提高代码设计能力(2)JDK的设计中体现了大多数设计模式,

2017-03-29 08:59:51 207

原创 HashMap源码

HashMap的存储结构,如下图所示:紫色部分即代表哈希表,也称为哈希数组,数组的每个元素都是一个单链表的头节点,链表是用来解决冲突的,如果不同的key映射到了数组的同一位置处,就将其放入单链表中。1、首先看链表中节点的数据结构:[java] view plain copy // Entry是单向链表。 (1.7以前)    

2017-03-28 11:05:20 218

原创 数据库事务的四大特性以及事务的隔离级别

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一

2017-03-27 16:26:04 182

原创 各种集合类型底层实现原理

Set和Map的关系Set代表无序,不能重复的集合;Map代表Key-Value组成的集合,是一种关联数组。Map的Key要求是不能重复,没有顺序。把Map的所有Key组合起来就是Set。Set keySet();HashMap和HashSet原理HashMap底层是用数组链表存储的,元素是Entry。向HashMap添加时,由key的hashcode决定Entry存储位置,当

2017-03-27 14:53:01 1606 2

原创 Java Web应用启动间隔执行的程序

Reference:《Java定时器timer.schedule在Web中间隔执行任务和定时》《【Java】Timer和TimerTask详解》 做了一个Demo,完成如下的功能:让Tomcat在WEB程序启动的时候启动一个线程池和一个Timer线程,Timer线程每隔一段时间跑一次(比如检查到期的用户,类似轮询查看),然后触发另一个后台线程(甩给线程池去处理,比如处理到期

2017-03-26 17:18:11 367

原创 最大子数组与股票交易

LeetCode – Maximum Subarray (Java) Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [−2,1,−3,4,−1,2,

2017-03-21 10:48:02 415

原创 LeetCode-Odd Even Linked List (Java)

ProblemGiven a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.The program s

2017-03-21 09:56:34 220

转载 校招面试知识点复习之计算机网络

校招面试知识点复习之计算机网络1、电路交换与分组交换电路交换特点:资源会被预留电路交换分为:频分多路复用以及时分多路复用优点:可以为一个通话保证特定数量的端到端带宽缺点:效率低分组交换特点:资源不会被预留优点:效率高今天的因特网就是分组交换的典范!分组交换中的时延处理时延、排队时延、传输时延、传播时延、传输时延

2017-03-20 18:45:19 598

转载 2017年小米春招内推面试面经

首先,我感到很讶异的是,在我投完简历一天后(2017年2月 23日),小米的工作人员就打电话给我,并且敲定了电话面试的日期(2017年2月27日)。当时我还在家里享受着寒假呢,这也许是来自东北某末流985的优势吧2333。  在等待面试的这几天中,我感到非常惶恐,毕竟我始终没有料到小米会这么早让我面试(宝宝的内心是崩溃的,我还没准备好!)于是乎我开始恶补Java知识(我面的是Java后端开

2017-03-20 18:38:36 480

转载 2017年阿里内推一面面经(不断更新)

在3月1号投完简历,做好测评以后,我是一直等啊等,始终期待着一面的到来。好不容易在3月8号这天中午12点10左右接到了来自阿里的面试电话。刚开始,我是一脸的懵逼啊,面试官问我:“你是不是面过了???”我是一脸黑脸问号.jpg。Excuse me?在我一番解释后,终于进入了正题。首先还是自我介绍。然后下面是问题清单:1、平时在项目中主要负责哪块技术啊?(我回答数据库方面的

2017-03-20 18:25:35 1218

原创 各大公司Java后端开发面试题总结

ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。ThreadLocal类中维护一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值为对

2017-03-20 18:23:42 1306

转载 一种基于Qt的可伸缩的全异步C/S架构服务器实现(一) 综述

http://blog.csdn.net/goldenhawking/article/details/25921647      本文向大家介绍一种基于Qt的伸缩TCP服务实现。该实现针对C/S客户端-服务集群应用需求而搭建。连接监听、数据传输、数据处理均在独立的线程池中进行,根据特定任务不同,可安排负责监听、传输、处理的线程数目,从而在高传输负荷、高计算符合上达成取舍。数据处理采用流

2017-03-19 16:23:11 415

原创 house robber

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent house

2017-03-17 10:26:41 213

原创 排列组合

77. CombinationsGiven two integers n and k, return all possible combinations of k numbers out of 1 ... n.For example,If n = 4 and k = 2, a solution is:[ [2,4], [3,4],

2017-03-16 10:19:03 376

原创 Mybatis

Mybatis 第一天课堂笔记Mybatis课程安排: 第一天:Jdbc编程中的问题?Mybatis的框架原理(重点)Mybatis的第一个程序:         实现用户信息的增、删、改、查。Mybatis如何解决jdbc编程的问题。与hibernate不同。 mybatis开发dao两种方法:(重点)原始的dao开发方法(接口和接口实现)  

2017-03-15 19:38:59 891

转载 java调用webservice接口 几种方法

 转载自http://af8991.iteye.com/blog/1702741webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。今天搜索到了非常好的 webservice provider列表http://www.webser...

2017-03-15 15:31:28 137193 9

原创 SpringMvc详解

一、Spring mvc是什么?Spring mvc和Struts2都属于表现层的框架,它是Spring框架的一部分二、Spring mvc运行流程(架构) 1、用户发送请求至前端控制器DispatcherServlet 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器根据请求url找到具体的处理器,

2017-03-15 10:54:11 447

转载 学习SpringMVC系列教程(一)Spring MVC入门

1、Spring Web MVC是什么Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 另外还有一种基于组件的、事件驱动的Web

2017-03-15 10:18:58 378

转载 SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现

spring相关概念及SSM框架在本文当中就不多述了,直接上干货!一、用myEclipse初始化Web项目       新建一个web project:二、创建包controller        //控制类service//服务接口service.impl//服务实现类dao  //data access object(接口)dao

2017-03-15 10:14:40 5739 3

原创 springMVC学习笔记--上传图片、JSON转对象、校验、全局异常、拦截器

一:srping的介绍1.spring的体系结构2.spring资源a、spring-framework-3.2.0.RELEASE:Spring Framework的官方发行包b、spring-framework-3.0.2.RELEASE-dependencies:依赖的第三方jar包二:如何搭建spring的核心开发环境

2017-03-15 10:00:18 2666

转载 SSM整合

SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现标签: ssmeasyuimybatisspringMVCssm框架2016-12-28 00:02 1115人阅读 评论(0) 收藏 举报 分类:系统框架(3) 版权声明:本文为博主原创文章,未经博主允许不得转载。目录(

2017-03-14 22:50:40 552

原创 刷题

1在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。两种思路:一种是:把每一行看成有序递增的数组,利用二分查找,通过遍历每一行得到答案,时间复杂度是nlognpublic class Solution {    public boolean Find(int [][]

2017-03-14 20:39:43 337

原创 java实现生产者消费者问题

引言  生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,如下图所示,生产者向空间里存放数据,而消费者取用数据,如果不加以协调可能会出现以下情况:生产者消费者图  存储空间已满,而生产者占用着它,消费者等着生产者让出空间从而去除产品,生产者等着消费者消费产品,从而向空间中添加产品。互相等待,从而发生死锁。JAVA解决线程模型的三种方式

2017-03-13 16:59:24 202

原创 Java阻塞队列的实现

阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列,下图展示了如何通过阻塞队列来合作:

2017-03-13 16:18:39 292

原创 lock锁

synchronized的缺陷  synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?  在上面一篇文章中,我们了解到如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况:  1)获取锁的线

2017-03-13 16:14:01 355

原创 synchronized 与 Lock

最近在做一个监控系统,该系统主要包括对数据实时分析和存储两个部分,由于并发量比较高,所以不可避免的使用到了一些并发的知识。为了实现这些要求,后台使用一个队列作为缓存,对于请求只管往缓存里写数据。同时启动一个线程监听该队列,检测到数据,立即请求调度线程,对数据进行处理。 具体的使用方案就是使用同步保证数据的正常,使用线程池提高效率。Lock与synchronized的区别1)Lo

2017-03-13 16:00:13 228

原创 现在有T1、T2、T3三个线程,怎样保证T2在T1执行完后执行,T3在T2执行完后执行

现在有T1、T2、T3三个线程,怎样保证T2在T1执行完后执行,T3在T2执行完后执行?使用Joinpublic class TestJoin{ public static void main(String[] args) { Thread t1 = new Thread(new T1(), "线程1"); Thre

2017-03-13 15:15:11 1146

原创 死锁例子

内容:一个简单的死锁例子,大概的思路:两个线程A和B,两把锁X和Y,现在A先拿到锁X,然后sleep()一段时间,我们知道sleep()是不会释放锁资源的。然后如果这段时间线程B拿到锁Y,也sleep()一段时间的话,那么等到两个线程都醒过来的话,那么将互相等待对方释放锁资源而僵持下去,陷入死锁。flag的作用就是让A和B获得不同的锁。public class TestDeadLock {

2017-03-13 11:43:40 268

原创 Java 线程面试问

在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面。用于直接面向市场交易的高容量和低延时

2017-03-13 11:36:13 263

原创 java面试准备-并发包类

1.ConcurrentHashMapConcurrentHashMap其实就是线程安全版本的hashMap。简单的解释就是通过把整个Map分为N个Segment(类似HashTable),这样每个HashTable之间就线程就不会发生冲突,可以提供相同的线程安全,但是效率提升N倍,默认提升16倍。  深度剖析ConcurrentHashMap ConcurrentHashMa

2017-03-13 11:29:34 4412

原创 什么是java序列化,如何实现java序列化?

Java 串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。序列化就

2017-03-13 11:26:57 219

前端插件整合

前端框架开发,设计整个搭建流程,有多个模块实现。好用

2018-01-12

微信企业号开发

微信企业号架构实现,实用。有非常多的干活,支付,安全校验等

2018-01-12

空空如也

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

TA关注的人

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