自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 java try catch finally 执行顺序

结论:不管有木有出现异常,finally块中代码都会执行;当try和catch中有return时,finally仍然会执行;finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;finally中最好不要包含return

2016-07-31 17:00:12 358

原创 Redis-持久化

redis强大的性能很大程度上是因为所有数据都存储在内存中,然而当redis重启后,所有存储在内存中的数据都会丢失,需要将内存中的数据持久化。Redis支持两种数据持久化的方式。RDB方式和AOF方式前者会根据配置的规则,定时将内存中的数据持久化到硬盘上,后者则每次执行命令之后记录下来。RDBRDB方式的持久化是通过快照的方式完成的。当符合某种规则时。会将内存中的数据全量生成一份副本存储到硬盘上,这

2016-07-21 20:38:14 257

原创 图片水印的添加

由于项目中需要对图片添加水印,思路大致如下:1.创建缓存图片对象(BufferedImage)2.创建Java绘图工具对象(Graphics2D)3.使用绘图工具对象将原图绘制到缓存图片4.使用绘图工具将水印(文字)绘制到缓存图片对象中5.创建图像编码工具类6.使用图像编码工具类,输出缓存图像到目标图片文件代码示例如下:public class MarkService { public sta

2016-07-21 20:05:15 341

原创 剑指offer-旋转数组的最小数字

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的旋转,输出旋转数组中最小的元素。例如数组{3,4,5,1,2} 位{1,2,3,4,5}的一个旋转,该数组的最小值为1.思路:首先不考虑重复元素出现的情况,可以和二分查找一样, 用两个索引指针index1和index2分别指向数组的第一个元素和最后一个元素。根据题目中的旋转规则, 旋转后的数组中的第一个元

2016-04-17 16:31:12 279

原创 java NIO Socket通信

直接上代码 Server 端代码import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.cha

2016-04-04 23:04:43 459

原创 岛屿问题

给一个01矩阵,求不同的岛屿的个数。0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。在矩阵:[ [1, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 0, 0, 1, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 1] ] 中有 3 个岛.思路: 递归解决package wangyi

2016-03-27 16:07:39 1460

原创 ForkJoin框架

ForkJoin 框架是Java7提供的用于并行执行任务的框架,是把一个大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。要想使用ForkJoin框架,必须首先创建一个ForkJoin任务,称之为ForkJoinTask,提供Fork和Join操作的机制,不需要直接继承ForkJoinTask类,只需要继承它的子类。子类有两个:RecursiveAction: 用于返回没有结果

2016-03-26 18:32:09 422

原创 格雷码

格雷码(Gray Code)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。例如以下为3位元的格雷码: 000 001 011 010 110 111 101 100 。如果要产生n位元的格雷码,那么格雷码的个数为2^n.1位元的格雷码: 0 , 12位元的格雷码 ,在1位元的格雷码的基础上添加0和1: 00 ,01, 11 ,103位元的格

2016-03-24 20:32:36 596

原创 把数组排成最小的数

思路:设计一个比较规则,让两个字符串假设说是m和n,如果组成的数字mn>nm,那么就返回nm,否则返回mn。package Array;import java.util.Arrays;import java.util.Comparator;public class MinNumber { //方法一:用comparable接口实现 public String PrintMinN

2016-03-20 10:02:58 267

原创 图的遍历

DFS深度优先遍历:1 .将顶点元素取出,标记该节点已经被访问过,放入栈中2 .从栈中将顶点元素peek出来,查找他的没有被访问过的邻居节点,如果不存在,则将该顶点从栈中pop出来,如果存在邻居节点则将其标记为访问过,输出,入栈3 .循环步骤2直至 栈为空BFS广度优先遍历:1.取出根节点,放入队列中,标记该节点已被访问过true2.将队列中的根节点poll出来,访问他的所有相邻的节点,将他们的访问

2016-03-18 08:22:40 310

原创 HashMap实现分析

在网上看到很多关于HashMap的分析帖子,比较杂乱,于是乎写了些自己的看法。HashMap是链表散列的数据结构,它是数组和链表的结合体,HashMap的基础是一个线性的数组,数组的每一项又存放了一个链表,当我们新建一个HashMap的时候就会初始化一个table数组,这个table数组存放的是Entry类型的数据。 static class Entry<K,V> implements Map.En

2016-03-16 00:02:47 306

原创 jvm内存模型

参照深入JVM这本书1、程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完

2016-03-10 23:17:50 487

转载 exe4j打包java应用程序

转载地址:http://blog.csdn.net/fog911811/article/details/6151700第一、将应用程序导出成一个JAR文件。1、先打包程序成一个jar,在eclipse里面很容易做到,右击程序选择“Export”。2、选择“JAR file”,按“Next”进入下一步。3、Select the resources to export是默认刚才我选择的那个程序。Sele

2016-03-10 23:07:30 859

原创 数组切割问题

假设数组A[1..2N]所有元素的和是SUM。模仿动态规划解0-1背包问题的策略,令S(k, i)表示前k个元素中任意i个元素的和的集合。显然:S(k, 1) = {A[i] | 1<= i <= k}S(k, k) = {A[1]+A[2]+…+A[k]}S(k, i) = S(k-1, i) U {A[k] + x | x属于S(k-1, i-1)package Array;public cla

2016-03-10 22:58:36 766 1

原创 java类的加载过程

一个java文件从被加载到被卸载这个生命过程,总共要经历4个阶段:加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载First:加载:这一块虚拟机要完成3件事: 1.通过一个类的全限定名来获取定义此类的二进制字节流。 2.将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。 3.在java堆中生成一个代表这个类的java.lang.Class对象,

2016-03-10 22:53:34 599

原创 线程并发库之semaphore

简介 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。 一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象

2016-03-08 10:09:14 618 1

原创 云计算学习

Hadoop 2.x深入浅出基础课程笔记 1、什么是Hadoop? “谁说大象不能跳舞?! Hadoop——轻松应对海量数据存储和分析所带来的挑战!“ 1)海量数据存储,HDFS 分布式文件系统 2)海量数据分析,MapReduce 并行的离线计算框架2、Hadoop项目的四大模块 Hadoop Common: The common utilities that support the

2016-03-07 23:46:06 777 1

翻译 线程并发库之Executors

ExecutorsnewFixedThreadPool(固定大小线程池)创建一个可重用固定线程集合的线程池,以共享的无界队列方式来运行这些线程(只有要请求的过来,就会在一个队列里等待执行)。如果在关闭前的执行期间由于失败而导致任何线程终止,那么一个新线程将代替它执行后续的任务(如果需要)。newCachedThreadPool(无界线程池,可以进行自动线程回收)创建一个可根据需要创建新线程的线程池,

2016-03-07 23:43:56 530

原创 如何找出数组中唯一的重复元素

最容易实现的方法是对数组进行遍历,相信这个大家都会,若果采用递归方法怎么解决呢,主要思路:“数组元素的第一个值”与“数组中其他元素组成的字数组的最大值”的最大值代码实现public class MaxNumber { public static int findMax(int[] A, int begin){ int len = A.length - begin;

2016-02-27 11:01:47 1650

翻译 Spring中IOC的实现

IOC:简单的来讲,就是由容器控制程序之间的关系,而不是由我们手动编写由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。创建项目,写Dao层接口IUserDao.javapublic interface IUserDao { public void InsertUser(String username,Strin

2016-02-25 19:46:43 538

原创 execute、executeupdate、executequery三者的区别

JDBC中Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。一、boolean execute(String sql)允许执行查询语句、更新语句、DDL语句。返回值为true时,表示执行的是查询语句,可以通过getResultSet方法获取结果;返回值为false时,执

2016-02-25 14:45:20 697

原创 LeetCode Roman to Integer

题目Convert a non-negative integer to its english words representation. Given input is guaranteed tobe less than 231 - 1.For example,123 -> “One Hundred Twenty Three”12345 -> “Twelve Thousand Three Hundr

2016-02-21 09:01:35 473

原创 LeetCode Integer to Roman

题目:Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.Subscribe to see which companies asked this question整数转为罗马数字: 参照罗马数字转整数的规则,可在罗马数字与整数之间建立一个映

2016-02-21 08:37:53 505

原创 Win7下用Eclipse远程连接Hadoop进行开发

实验环境:Win7操作系统Eclipse3.7 JDK 1.7centos 6.4Hadoop2.2.0hadoop-eclipse-plugin-2.2.0.jar注:Eclipse用来开发Hadoop项目的插件 可以从GitHub上面下载下来,地址如下:下载hadoop2x-eclipse-plugin https://github.com/winghc/hadoop2x-eclipse-plu

2015-12-26 19:54:12 768

科恩裁剪算法

矩形裁剪,用于裁剪线段,效果客观,还是不错的,嗯嗯嗯

2012-05-09

空空如也

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

TA关注的人

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