- 博客(32)
- 资源 (5)
- 收藏
- 关注
原创 每日5道面试题八(java线程二)
Java中Runnable和Callable有什么不同?Java中CyclicBarrier 和 CountDownLatch有什么不同?Java内存模型是什么?Java中的volatile 变量是什么? 什么是线程安全?Vector是一个线程安全类吗?
2015-08-31 13:12:17 936 1
原创 微软灯管问题(智力题六)
题目:在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分那个开关控制那一盏灯?
2015-08-30 08:10:29 2486
原创 每日5道面试题七(java线程)
什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。 程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。 比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。 Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。 线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线
2015-08-30 08:03:41 753
原创 排序算法之选择排序
选择排序也是比较简单的一种排序方法,这是内部排序的一种,实现的思路非常简单。 内部排序:指表的规模足够小,能够全部放在内存中进行排序的方法。(插入排序、快速排序、堆排序、归并排序、基数排序等)。 外部排序:指被排序的数据信息规模太大,不能全部放入内存时,文件必须分段装入内存,直到整个文件被排号序为止。
2015-08-30 00:57:03 1143 3
原创 10斤酒两个桶(智力题五)
有三口酒缸,分别能装3斤;7斤;10斤。现在10斤的缸装满了酒,在没有称得情况下,怎么把这10斤酒平均分成两个5斤?
2015-08-29 22:55:22 2481
原创 100个苹果(智力题四)
问题: 桌上有100个苹果,你和另一个人一起拿,一人一次,每次拿的数量大于等于1小于等于5,问:如何拿能保证最后一个苹果由你来拿?
2015-08-29 22:29:20 3961
原创 瞎子翻牌(智力题三)
题目:(瞎子翻牌)给一个瞎子52张扑克牌,并告诉他里面恰好有10张牌是正面朝上的。要求这个瞎子把牌分成两堆,使得每堆牌里正面朝上的牌的张数一样多。瞎子应该怎么做?(瞎子摸不出牌是正面或者是反面,但是却可以随意翻动每一张牌)
2015-08-29 09:55:27 4899 1
原创 每天5道面试题(六)java基础
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。public class ThreadTest1{ private int j; public static void main(String args[]){ ThreadTest1 tt=new ThreadTest1(); Inc i
2015-08-29 09:30:39 826
原创 每天5道面试题(五)java基础
什么时候用assert。assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。
2015-08-28 08:39:24 940
原创 智力题(农民分金条问题)
题目:你让农民为你工作7天,给他的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费,保证该农民在七天中任意一天结束时都可以领到相应的报酬。(例:第一天结束时他可领到1/7,第三天结束时他可领到3/7)
2015-08-27 23:21:10 4087
原创 Vmware tools安装图解
vmware tools是虚拟机VMware Workstation自带的一款工具,它的作用就是使用户可以从物理主机直接往虚拟机里面拖文件。如果不安装它,我们是无法进行虚拟机和物理机之间的文件传输的,同时还能改善鼠标移动、等性能。 主要步骤: 1.挂载光驱 2.将安装文件拷贝到桌面(其他文件夹都可以)并解压 3.打开终端(Ctrl+Alt+T) 4.切换到安装文件夹所在的目录 5.执行安
2015-08-27 23:06:06 2425
原创 Vmware 安装ubuntu(图解)
有的时候我们想要玩一下别的系统,可是又不想切换操作系统的时候,就可以考虑使用vmware来安装了,我这里演示的是如何安装ubuntu,但是安装系统的方式几乎是相同的,所以你也可以安装windows和苹果的操作系统等。 下篇博客介绍Vmware tools的安装,实现windows和ubuntu系统文件共享,虚拟机全屏。1.准备工作首先自然是要下载操作系统的镜像文件了我这里使用的是:Ubuntu K
2015-08-27 14:28:31 898
原创 每天5道面试题(四)java基础
heap和stack有什么区别?栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。 堆是栈的一个组成元素forward 和redirect的区别?forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 re
2015-08-27 07:16:18 988 1
原创 VMware11.0.0安装(图解)
下载版本:VMware11.0.0 相当好用的虚拟机,可以在上面安装各种操作系统(windows、linux、mac等)我这里是用来研究hadoop的所以,所以会安装ubuntu系统。
2015-08-27 00:14:51 2651
原创 Eclipse for github插件安装、使用图解(egit)
一、注册github官网地址:https://github.com/ 二、安装软件安装地址:http://download.eclipse.org/egit/updates 三、配置 四、提交到本地仓库 五、提交到远程git仓库1.到github官网去创建远程仓库(记住仓库地址) 2.将代码提交到远程仓库
2015-08-26 20:21:46 945
原创 每天5道面试题(三)java基础
final, finally, finalize的区别? final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。sleep() 和 wait() 有什么区别
2015-08-26 10:11:42 732
原创 (图解)MySQL 5.6 for Windows 解压缩版安装
最近项目开发使用的是mysql、去官网看了下mysql有两种安装方式:一种是msi格式,一种是zip格式的。个人比较喜欢zip的,也就是解压缩版,换句话说就是绿色版的,仅仅安装一个数据库就好,现将安装过程总结如下(win10/win8/win7通用):下载mysql1.首先查看操作系统版本 2.到官网下载mysql、官网下载地址为:http://dev.mysql.com/dow
2015-08-25 20:57:07 999
原创 每天5道面试题(二)java基础
说出Servlet的生命周期,并说出Servlet和CGI的区别Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例
2015-08-25 09:17:41 730
原创 每天5道面试题(一)
1、面向对象的特征有哪些方面1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承
2015-08-24 08:39:36 884
原创 eclipse for windows8 下载与安装
下载官网下载地址:http://www.eclipse.org/downloads/ 我这里使用的版本是eclipse-jee-mars-R-win32.zip 百度云盘下载地址:http://pan.baidu.com/s/1hqq6Q1I 安装eclipse的安装十分简单,解压即可使用如图
2015-08-23 23:48:36 2620
原创 jdk8forwindow8的下载与安装
最近吧电脑的系统刷掉了,几乎所有的开发工具都要重新安装,那么就从jdk开始吧!下载官方下载地址:www.oracle.com/technetwork/java/javase/downloads/ 我这里使用的是jdk-8u60-windows-i586 给出云盘下载地址:http://pan.baidu.com/s/1ntvMpwX 官网下载方式如图: 安装在 Windows 8 和 W
2015-08-23 23:20:45 2245 5
原创 火狐浏览器安装有道翻译插件
使用火狐浏览英文网页,一键翻译成中文,阅读无障碍。 既可以选择全文翻译,也能按照英文水平、只翻译相应部分的词汇,阅读理解更方便。 安装地址:http://mozilla.com.cn/thread-52722-1-1.html
2015-08-23 21:15:29 21896 3
原创 mysql中文乱码解决方案
最近项目使用到mysql,却突然出现了中文乱码问题,尝试了多种方案,终于解决乱码问题,总结一下解决方案,给遇到相同问题的人一点参考。中文乱码的原因1.安装mysqlserver的时候编码集设定有问题 2.创建数据库的时候编码集设定有问题 3.创建表的时候编码集设定有问题 4.客户端的编码集设定有问题 可以通过命令查看编码集:show variables like "%char%";常用编码集
2015-08-17 13:22:33 1177
原创 几种自动执行js代码的方式
最近在看jquery,发现他居然能自动执行js代码,于是就查了下,收集了几种常用的实现方法jquery的方法使用场景:任何需要执行的js特效$(document).ready(function(){ alert("你好");});简写方式:$(function(){ $("#a").click(function(){ //adding your code here });}
2015-08-15 21:45:35 4397
原创 设计模式之mvc
最近在研究struts2的时候发现,这货本身就是mvc,所以为了弄清struts2的原理,就必须要弄懂mvc,以下是我额学习笔记,参考了研磨struts2这本书,感谢原作者1.什么是mvc?mvc是一个框架模式,它将应用程序划分为模型、视图控制器三个部分2.模型、视图、控制器各个部分的作用:模型负责封装应用的状态,并实现应用的功能,通常又分为数据模型和业务逻辑模型,数据模型用来存放业务数据,比如订单
2015-08-15 16:00:07 739
原创 generator自动生成mybatis实体类和配制文件
在学习MyBatis的过程中,发现mybatis确实是非常好用的的框架,但是,手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。这样可以省去很多的功夫,将生成的代码copy到项目工程中即可。当然了,eclipse上也有类似的插件,不过我选择generator是因为其方便,只需要下载一个jar包就好,下面就来说一下构建过程吧: 我的目录结构如下
2015-08-13 11:05:59 2717
原创 Spring aop之代理模式
最近学习spring aop时发现其大量使用了代理模式,于是就想着研究一下代理模式的实现原理。代理模式 代理模式是常用的java设计模式,如上图所示,代理类和实现类实现了同一个接口,而代理类中则具有现有对象,通过代理类去操作现有对象,那么我们就可以在代理类中增加很多操作,包括前置增强、后置增强、环绕增强、异常增强等,这也就能解决我们实际当中遇到的一些问题,例如延迟对象的创建、控制对象的访问等。静态
2015-08-11 12:08:14 1668
原创 第三方登录之新浪微博
这里就新浪微博的第三方接入做了个demo,方便以后查看,同时供大家参考。首先新浪云的授权机制采用的是OAuth2.0,OAuth在”客户端”与”服务提供商”之间,设置了一个授权层(authorization layer)。”客户端”不能直接登录”服务提供商”,只能登录授权层,以此将用户与客户端区分开来。”客户端”登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令
2015-08-09 21:50:49 4340
原创 使用注解实现自定义junit(简)
最近在学Spring,发现Spring里面使用了注解(annotation),非常好奇这里面是什么原理!于是就稍微的研究 下其底层的实现原理,然后突然发现junit使用的也是注解的方式,所以决定自定义一个简单版本的junit框架。下面就对junit的实现原理进行分析: 一、首先我们需要先对junit的注解进行声明 我这里就选择了常用的三个注解 @Test、@Before、@Afterimpor
2015-08-08 23:34:25 2755
原创 第三方登录之QQ
因为开发项目中有使用到第三方登录的技术,于是就研究了一下,把流程总结一下,方便以后使用,也给大家提供一个参考,有不对的地方,希望大家指出来,做这个测试的前提是你要有一个能连接公网的服务器或者云服务器都可以,还需要一个域名,我这里是把测试网站部署到新浪云上面的,创建好你的测试网站,并记录下访问地址。 第一步:进入QQ互联的官网(http://connect.qq.com/),并登录,在这里需要注
2015-08-08 22:36:59 3690
原创 ubuntu下安装mysql
ubuntu下在线安装mysql 命令如下: 1.sudo apt-get update #更新软件包 2.sudo apt-get install mysql-server #安装服务器 3.apt-get isntall mysql-client #安装客户端 4.sudo apt-get install libmysqlclient-dev #mysqlAPi开发包 5.s
2015-08-04 19:31:18 806
快递查询应用实例源码
2015-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人