自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Happiness is more than pleasure without pain

你必须非常努力,才能看起来毫不费力

  • 博客(46)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

转载 Java程序员面试中的多线程问题

英文原文:Top 50 Java Thread Interview Questions Answers for Freshers, Experienced Programmers        不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎。大多数待遇丰厚的 Java 开发职位都要求

2015-04-22 19:04:21 612

转载 素数环

package Thread;import java.util.Arrays;public class PrimeRing { public static void main(String[] args) { int length = 22; //素数环的长度 int[] b = new int[length]; //一个数组,用来标识第i个数字是否被使用过。

2015-04-22 08:18:13 424

原创 动态规划求解0-1背包

package com.algorithm; //动态规划解决01背包问题 /* * 测试数据 * 背包最多能装10公斤物品,现有3件物品, * 重量和价值分别为 * 3, 4 * 4, 5 * 5, 6 */ public class Backpack_01 { private static int capacity = 10;//背

2015-04-22 08:16:08 450

原创

package com.algorithm;/* * 目的:实现堆排序算法 * 注意:实际上没有heap这种内存数据结构,我们通过Array或LinkList来模拟,人为地看成是heap结构 * 功能:对一堆数进行非升排序 * 作者:陈沛锐 * 时间:2013.04.02 * * 经验积累: * 1.Random() seed * 2.Array.length是Array中

2015-04-22 08:14:32 354

原创 N皇后

package dfs;public class NQueens { private int n=0; //参数n为几个皇后的数目 private int x[]=new int [8]; //解向量也就是解空间树,存放皇后的列数,注意这里的x[i]中的i表示这个皇后在第i行,x[i]的值表示的是这个皇后在这一行的第几列 private int sum=0;//统计解空间的数量

2015-04-22 08:11:29 349

原创 深度优先搜索代码模板

void dfs(type input,type result,int step){ if(数据非法)return 0;//数据非法 if(step==input.size()){//收敛条件 将path放入path } if(减枝)return; for(...){//执行所有可能的扩展动作 执行动作,修改path d

2015-04-19 15:56:44 1101

原创 天外有天

人外有人,天外有天。不要盲目羡慕别人的成功,不要获得一点成绩就不淡定,你必须非常努力,才能看起来毫不费力,认清自己,准确定位,定好目标,苦心孤诣,不甘平庸。永远不要停止修炼。

2015-04-17 09:34:29 463

原创 SSH

所谓切入点,就是为一个切入点表达式取一个名字,从而允许在多个增强处理中重用该名称AOP编程中需要程序员参与的只有3个部分:1、定义普通业务组件2、定义切入点,一个切入点可能横切多个业务组件3、定义增强处理,增强处理就是在AOP框架为普通业务组件织入的处理动作(Log等)@Aspect//定义一个切面AspectJ(编译时增强)是一个基于Java语言的AOP框架,被称为编译时

2015-04-14 09:16:50 519

原创 Spring IoC

Spring核心容器的理论很简单:Spring容器就是一个超级大工厂,对Spring框架而言,一切Java对象 都是Bean。....配置文件中的元素驱动Spring以反射的方式来调用无参构造器来创建对象。Spring框架的核心功能有2个:1、Spring容器作为超级大工厂,负责创建、管理所有Bean2、Spring使用依赖注入的方式来管理Bean之间的依赖

2015-04-14 08:47:51 274

原创 Spring MVC

Spring Web MVC 处理Http请求的大致过程:一旦Http请求到来,DispatcherSevlet将负责将请求分发。DispatcherServlet可以认为是Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具

2015-04-12 22:56:37 320

转载 Java的运行原理

在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode)(class文件的内容),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是

2015-04-12 20:21:56 267

原创 JAVA内存相关

类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。1.java是如何管理内存的java的内存管理就是对象的分配和释放问题。(其中包括两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化

2015-04-12 18:16:38 381

转载 输入年月日时分秒,计算下一秒的年月日时分秒

1.名称:时光飞逝2.描述:输入年月日时分秒,计算下一秒的年月日时分秒3.分析:1.定义六个全局变量2.输入时间3.计算下一秒3.1 second加一秒3.2 计算每月对应的天数3.3 计算闰年4.打印4.模块1.输入模块 void input()2.计算下一秒 void nextMinute()3.计算每月对应的天数 int dayMo

2015-04-11 12:35:04 1649

原创 编程之美题选

1、求二进制数中1的个数:1、除以2 根据余数 判断,迭代 2、与1相与,根据结果判断,循环移位 3、列出全部数据映射2-1 3-2 4-1 。。。 建立Hash表O(1)4、(1100&1011=1000 能去掉最右边的1)intNumber(int n ){int count=0;while(n){count++;n=(n-1)&n;}}2、

2015-04-11 12:25:09 531

原创 Struts 2 类型转换器 输入校验 拦截器

Struts 2中内建了字符串类型和常见类型之间相互转换的转换器,能满足大多数转换需求,但不能完成字符串和User对象之间的转换。  OGNL项目中有一个TypeConvert接口,这个接口是自定义类型转换器必须要实现的接口,OGNL还提供了一个实现类:  DefaultTypeConverter,自定义类型转换器(UserConverter类)须重写DefaultTypeConverte

2015-04-11 12:24:05 458

原创 Hibernate缓存原理

对于Hibernate这类ORM而言,缓存显的尤为重要,它是持久层性能提升的关键.简单来讲Hibernate就是对JDBC进行封装,以实现内部状态的管理,OR关系的映射等,但随之带来的就是数据访问效率的降低,和性能的下降,而缓存就是弥补这一缺点的重要方法.缓存就是数据库数据在内存中的临时容器,包括数据库数据在内存中的临时拷贝,它位于数据库与数据库访问层中间.ORM在查询数据时首先会根据

2015-04-11 12:21:38 385

原创 数据库相关

数据库事务:一个程序执行单元ACID特性:atomicity原子性:事务的所有操作在数据库中要么全部反应,要么全部不反应consistency一致性:隔离(无并发)执行事务时保持数据库的一致性isolation隔离性:每个事务感觉不到其他事物在并发地执行durability持久性:一个事务完成后,保证对数据库的修改是永久的数据库查询优化:怎么做?建立索引,索引的类型?B+树

2015-04-11 12:20:40 401

原创 适配器模式和代理模式

代理模式:class B {     A a;     public B(){a=new A();}     f(){a.f()}}B b=new B();b.f();    //实质就是调用A的f方法适配器模式:class B implements  AA{     AA a =new A();    f(){a.f()}}AA aa=ne

2015-04-11 10:34:58 328

原创 Struts2的拦截器

当核心控制器拦截到用户请求后,大量拦截器将会对用户请求进行处理,然后才会调用用户开发的Action实例的方法来处理请求。eg:servlet-config拦截器直接将请求中的HttpServletRequest实例和HttpServletResponose实例传给Action        params:是最基本的一个拦截器,它负责解析Http请求中的参数,并将参数值设置成Action对应

2015-04-11 10:16:24 357

原创 程序员如何快速准备面试中的算法

程序员如何快速准备面试中的算法前言    我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。尽管在微博上简单梳理过,如下图所示:       但因字数限制,许多问题无法一次性说清楚,故特撰此文着重阐述下:程序员如何快速准备面试中的算法,继而推荐一些相关的书籍或资料。顺便也供节后跳槽、3月春

2015-04-11 09:16:02 403

转载 教你如何迅速秒杀掉:99%的海量数据处理面试题

教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道blog前言   一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的

2015-04-11 09:08:19 559

原创 代码混装

一个很平常的路线,mvc-servcie-dao-hibernate的结构----------------------------------------------------------------------------------------int n=Integer.parseInt("123");String s=String.valueOf(int a);泛型 的作用

2015-04-11 09:01:08 1010

原创 Java线程安全和非线程安全

ArrayList是非线程安全的,Vector是线程安全的;HashMap是非线程安全的,HashTable是线程安全的;StringBuilder是非线程安全的,StringBuffer是线程安全的什么是线程安全?线程安全和非线程安全有什么区别?分别在什么情况下使用?非线程安全是指多线程操作同一个对象可能会出现问题。而线程安全则是多线程操作同一个对象不会有问题。线程安全必

2015-04-10 22:45:04 622

原创 Java集合类

除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。HashMap不是线程安全的,如果想要线程安全的HashMap,可以通过Collections类的静态方法synchronizedMap获得线程安全的HashMap。Map map = Collections.synchronizedMap(new HashMap());在java编程语言中,最基本的

2015-04-10 22:26:28 331

转载 Java并发编程:Thread类的使用

Java并发编程:Thread类的使用  在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。  以下是本文的目录大纲:  一.线程的状态  二.上下文切换  三.Thread类中的方法  

2015-04-10 22:18:35 324

原创 Java中对Clone的理解

面试中经常遇到Clone的相关知识,Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的?1. Clone和Copy假设现在有一个User对象,User u1=new User(“U1001”,“Jason”,25),通常我们会有这样的赋值User u2=u1,这个时候只是简单了copy了一下

2015-04-10 22:06:31 278

原创 java中的throw和throws

异常在Java中式以一个对象来看待。所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,但是一般情况下Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。直接进入正题哈:1.用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。1.1 throw是语句抛出一个异常。语法:t

2015-04-10 21:52:25 352

原创 Intern4.10

1、Spring MVC框架    SOA架构?2、各种笔试题,c/c++基础,结构体,指针,字符串操作...3、基础java:反射,泛型,HTTP,Hibernate缓存,内存结构.....4、代码,算法,leetcode,回溯,基本的编程,深搜,广搜......学习,思考,记录,总结,思考,应用,掌握for what?  maybe?         

2015-04-10 21:41:22 368

原创 Java垃圾回收机制

Java垃圾回收机制  说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚

2015-04-06 20:48:08 346

原创 java基础篇---反射机制

一、JAVA是动态语言吗?一般而言,说到动态言,都是指在程序运行时允许改变程序结构或者变量类型,从这个观点看,JAVA和C++一样,都不是动态语言。但JAVA它却有着一个非常突出的动态相关机制:反射。通过反射,Java可以于运行时加载、探知和使用编译期间完全求和的类、生成其对象实体,调用其方法或者对属性设值。所以Java算是一个半动态的语言吧。反射的概念:在Java

2015-04-06 16:38:13 312

转载 类加载机制

类加载过程    类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示:    其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为

2015-04-06 13:13:53 505

原创 二叉树的遍历及常用操作

package leetCode;/** * 输入 (输入0为无节点) * 1 * 2 * 4 * 0 * 0 * 3 * 6 * 0 * 0 * 7 * 0 * 0 */import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.

2015-04-05 11:46:15 284

原创 Hibernate基础

ORM       对象/关系型数据库映射, ORM工具的唯一作用是:把对持久化对象的保存、删除、修改等操作,转换成对 数据库的操作。持久化对象是一种中间媒介,应用程序只需                 操作持久化对象。Hibernate是ORM的一种。Hibernate采用POJO作为持久化类,只需为POJO添加一些注解。即有:PO=POJO+持久化注解通过注解,Hibernate可以

2015-04-04 22:35:52 338

原创 Hibernate简单配置

1.配置构建路径,加载用户库,hibernate4.3.8 MySQL-Driver2.写User.java 纯POJO+持久化注解=PO@Entity@Table(name="user")public class User { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Int

2015-04-04 22:29:38 313

原创 ssh分层架构

所谓切入点,就是为一个切入点表达式取一个名字,从而允许在多个增强处理中重用该名称AOP编程中需要程序员参与的只有3个部分:1、定义普通业务组件2、定义切入点,一个切入点可能横切多个业务组件3、定义增强处理,增强处理就是在AOP框架为普通业务组件织入的处理动作(Log等)@Aspect//定义一个切面AspectJ(编译时增强)是一个基于Java语言的AOP框架,被称为编译时

2015-04-04 18:01:16 1110

原创 Struts2的ActionContext

web资源:HttpServletRequest,HttpSession,ServletContext等原生Servlet APIAction中如何访问web资源:1、和Servlet API解耦的方式:访问有限的Servlet API对象,访问有限的方法(读取请求参数,读写域对象属性等)a.使用ActionContext b.实现XxxAware接口2、和Servlet API耦

2015-04-04 12:48:50 326

原创 常用类

//链表节点class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; }}//树节点class TreeNode { int val; TreeNode left; TreeNode right;

2015-04-04 09:57:43 442

原创 Minimum Depth of Binary Tree

Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.直接将最深二叉树的代码稍微改下,是错的,分析特定例子,当遇到有结点为NU

2015-04-03 21:12:45 420

原创 Binary Tree Level Order Traversal

Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).For example:Given binary tree {3,9,20,#,#,15,7}, 3 / \ 9 20

2015-04-03 12:21:30 333

原创 Binary Tree Inorder Traversal

Given a binary tree, return the inorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3}, 1 \ 2 / 3return [1,3,2].Note: Recursive solutio

2015-04-02 12:49:39 323

Android应用开发揭秘源码

全书的源码都有,很详细,用起来很方便,直接导入即可用

2014-05-02

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

TA关注的人

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