自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

参照http://www.powerxing.com/install-hadoop/ 给力星博客可以完美完成。其次在配置VMware linux和windows的局域网时,windows配置VMware建立的虚拟网卡VMware8,linux配置静态ip来组建局域网,并要关闭防火墙才能争取ping通地址。

2017-02-14 16:19:25 428

原创 lock和synchronized的同步区别与选择

区别如下: 1. lock是一个接口,而synchronized是java的一个关键字,synchronized是内置的语言实现;(具体实现上的区别在《Java虚拟机》中有讲解底层的CAS不同,以前有读过现在又遗忘了。) 2. synchronized在发生异常时候会自动释放占有的锁,因此不会出现死锁;而lock发生异常时候,不会主动释放占有的锁,必须手动unlock来释放锁,可能引起死锁的

2017-02-04 15:14:07 19301

原创 java实现JSON解析器

对json数据格式进行词法分析,JSON数据格式一般分为String,Boolean,{,},null,[,],:, , 等,将其分解成为多个Token对Token进行顺序的语义分析(通过递归实现,可以将Token分为map,array分为数组对象和字典对象)最后返回object对象,即可完成json数据转为java对象格式代码实现: https://github.com/yk2945247

2016-11-10 09:18:59 1717

原创 Java虚拟机执行引擎多态的实现

在java中多态的表现为:重写(override)和重载(overload)重写(override 就是在同一个类中写多个方法名相同的方法)是java的静态分派: Java方法重载是根据传入参数的数量和参数类型,由于传入的参数类型和数量已已知的并且用传入的静态类型而不是实际类型作为参数来判定依据。而静态类型在编译器是已知的,那么在编译期,javac编译器就会根据静态类型来判断使用哪个重载版本的方法

2016-09-16 20:24:47 949 2

原创 构造回文

题目: 思路:把原序列和原序列的反序列做比较,求最大共同子串(DP),然后用原长度减去共同子串的长度,即可得出原序列;例如:abcda 做DP 0 1 2 3 4 5 0 0 0 0 0 0 0 1 0 1 1 1 1 1 2 0 1 1 1 2 2 3 0 1 1 2 2 2 4 0 1 2 2 2 2 5 0 2 2 2 2 3求出最大相同的代码如

2016-09-11 10:08:18 326

原创 浅析线程池

线程池为线程的容器,通过减少线程的创建和销毁时间来提高线程的利用率,但是不能控制线程池中线程的开始,挂起和中止。浅析线程池的实现: 1.当线程池被创建时候,会创建于线程池相同的下限的空闲线程; 2.当我们在线程池中加入任务时,线程池会安排当前空闲的线程逐一接手任务; 3.随着任务的增加,某一时刻当任务序列大于现在的线程下限时,线程池并不会马上创建一个新的线程,而是等待一定的时间后,看当前是否会

2016-09-07 19:34:00 390

原创 计算机网络随笔

当用户在浏览器输入一个URL时,首先DNS会解析URL成IP地址,然后根据IP地址找到对应的服务器,并向服务器发送一个Get/Post请求,由服务器返回默认的数据资源给访问的用户。扩展1:在服务器端可能存在负载均衡或反向代理的设备,在访问服务器时并不一定访问的是指定的IP,可能做了反向代理及负载均衡到某一个用户并不知道的服务器上,请求的数据可能存在数据库,可能存在于cache,可能存在于CDN上。而

2016-09-03 18:07:40 324

原创 LRU算法实现

最近发现LRU在缓存使用的较多,特意回头来看看自己以前上机实现的代码原理: 最近最久未使用页面置换算法(LRU) 当需要淘汰某一页时,选择在最近一段时间里最久没有被使用过的页淘汰。 其基本原理为:如果某一个页面被访问了,它很可能还要被访问;相反,如果它长时间不被访问,再最近未来是不大可能被访问的。LRU采用页号栈的实现方法。最近访问的页放在栈顶,较早访问的页往栈底移动。总是先淘汰处于栈底的页。

2016-08-31 17:08:28 5503 1

原创 基于Spring的AOP实现自定义annotation操作日志

引入项目需要的AOP包 <!--aop--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency>

2016-08-13 21:54:21 3760

原创 基于Spring的定时器

使用spring内置的定时器首先创建一个需要定时的类和需要定时的方法:public class QuartzSpiderJob { //定时器方法类 public void QuartzJob(){ System.out.println("定时器test"); }}其次编写定时器的spring配置文件<task:annotation-driven /> <!--

2016-08-13 21:46:58 216

原创 Java 实现发送Http请求

最近需要一个短信业务的接口,发送http请求来发送短信,因为网上给的代码混乱不统一,自己实现了一个,以便自己以后自己使用java发送http请求。import org.apache.commons.httpclient.Header;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclie

2016-08-12 15:59:23 4478

原创 《剑指Offer》面试题55:字符流中第一个不重复的字符

思路: 1.使用一个容器保存字符的当前下标,所有字符下标初始为0,插入的时候,如果判断这个字符下标数组不为0,则表明字符已经出现过,直接将数组置为1即可,否则则置为当前index值,并且index++,时间复杂度为O(1); 2.查找第一不重复字符时,循环判断整个容器数组保存的值,找出index值最小的一个数据,即为最先插入的字符。时间复杂度为O(256),因为256为常数,即复

2016-07-10 13:14:25 312

原创 《剑指Offer》面试题57:删除链表中重复的节点

题目:在一个排序的链表中,如何删除重复的节点? 样例输入: 1 2 3 3 4 4 5 样例输出: 1 2 51.新建一个头节点,以防第一个节点被删除。 2.保存当前节点上个节点,循环遍历整个链表,如果当前节点的值与下一个节点的值相等,则将当前节点的值与next.next节点的值比较,直到不相等或者null为止,最后将当前节点的上个节点pre指向最后比较不相等的节点。 3.如果当前节点与ne

2016-07-09 21:07:30 2496

原创 《剑指Offer》面试题56:链表中环的入口节点

1.首先判断该链表中是否存在环(使用快慢指针来判断); 2.如果存在环,设环的节点为m个,快指针经过的节点数为2n个,慢指针经过的节点为n个,那么快指针所走的节点为n2比慢指针n1走的节点数多m(即2n=m+n)个,所以n1和n2相交的位置为链表的第n个节点,重置n1或者n2都可以找到环的入口。package com.test20160709;/** * Created by yan on

2016-07-09 20:36:09 324

原创 Java反射初步学习

自己对于java反射机制的初步学习,了解到反射的功能强大,写一些简单的代码以便自己以后参考。package ch15;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;class A{ public void print1(){ System.out.prin

2016-01-12 15:43:36 316

原创 常用排序算法(冒泡、选择、归并、快排、插入)

冒泡排序(时间复杂度On^2 空间复杂度O1)稳定步骤: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 //冒泡排序改进版 void BubbleSor

2015-12-21 19:49:36 429

原创 贝叶斯算法Java实现

前言:朴素贝叶斯分类算法是一种基于贝叶斯定理的简单概率分类算法。贝叶斯分类的基础是概率推理,就是在各种条件的存在不确定,仅知其出现概率的情况下,如何完成推理和决策任务。概率推理是与确定性推理相对应的。而朴素贝叶斯分类器是基于独立假设的,即假设样本每个特征与其他特征都不相关。朴素贝叶斯分类器依靠精确的自然概率模型,在有监督学习的样本集中能获取得非常好的分类效果。在许多实际应用中,朴素贝叶斯模型参数估计

2015-12-21 18:50:21 9098 1

原创 【数据结构】Java实现图的DFS和BFS

图的深度优先遍历(DFS)和广度优先遍历(BFS),DFS利用递归来实现比较易懂,DFS非递归就是将需要的递归的元素利用一个栈Stack来实现,以达到递归时候的顺序,而BFS则是利用一个队列Queue来实现。package DataStructure;import java.util.LinkedList; import java.util.Queue; import java.util.S

2015-12-12 00:43:22 10205 2

原创 【数据结构】Java实现二叉树遍历(递归)

递归实现遍历求节点数求数的深度十分简单,代码通俗易懂,但是递归来遍历的时候会产生大量的副本,在遍历一棵节点较多的树的时候,使用这种方法资源利用率不会很高package DataStructure;public class BinaryTreeTest { private Node root; class Node{ int data; Node left;

2015-12-12 00:36:35 446

原创 【数据结构】Java实现二叉树遍历(非递归)

以二叉排序树来建立的一棵二叉树,然后用先序,中序,后序非递归遍历package DataStructure;import java.util.Stack; public class BinaryTree { private Node root; class Node{ int data; Node left; Node right;

2015-12-12 00:32:22 468

原创 【数据结构】Java实现单链表

单链表的数据结构相对构建比较简单package DataStructure;class Node{ public int data; public Node next; Node(int data){ this.data=data; } public void display(){ System.out.print(" "+data)

2015-12-12 00:27:11 303

原创 JSP中利用JFreechart生成图表

首先要下载必备的jar包,jfreechart.jar和jcommon.jar, 然而在web.xml文件中配置<servlet> <servlet-name>DisplayChart</servlet-name> <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> </servlet> <s

2015-08-07 15:53:03 3465 1

原创 Linux下JDK的安装

JDK的安装1.把JDK的ISO镜像文件挂载到linux操作系统上 mount/mnt/cdrom2.把文件拷贝到/home下 cp 文件 /home3.进入home目录下 cd /home4 安装镜像文件 ./???.bin5配置JDK环境变量,查看文件 /etc/profile6.配置JDK JAVA_HOME=/home/jd

2015-07-14 21:01:01 322

原创 用JAVA实现简单爬虫多线程抓取

在循环爬取得基础上进行多线程爬虫,本程序中使用的三个线程,线程为实现runnable接口,并使用对象锁防止并发共同去访问同一个对象。让三个线程同时爬去同一个url并且得到的新的url不重复。

2015-07-14 19:23:39 7921 1

原创 用JAVA实现简单爬虫循环抓取

原理: 1.给一个URL,爬虫爬取这个url; 2.url中提取HTML中a 标签内容获取新的url; 3.再通过新的url再循环以上;实现代码:import java.io.*;import java.net.*;public class Dome1 { public static void main(String[] args){ String s1="<a href=\"

2015-07-14 12:09:51 987

原创 关于Jsp遇到405错误

传值的方式为“POST”和'GET“标签href跳转的默认方式为为GET,当跳转servlet时候,无DOGET方法即会报405错误!当POST传值到servlet时,无DOPOST方法也会405错误。

2015-06-17 12:57:57 4267 1

空空如也

空空如也

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

TA关注的人

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