- 博客(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
在O(n)时间复杂度O(1)空间复杂度求一个数组中出现多次和未出现的数字
2015-05-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人