自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (2)
  • 收藏
  • 关注

原创 剑指offer--重构二叉树

题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。题目解析:1.前序遍历: 前序遍历的规则:先根节点,后左子树,再右子树2.中序遍历: 中序遍历的规则:先左子树,后根节点,再右子树3.求重构二叉

2016-08-07 22:53:32 371

原创 AbstractQueuedSynchronizer的介绍和原理分析

介绍:提供了一个基于FIFO队列,可以用于构建锁或者其他同步装置的基础框架,利用了一个int类型表示状态使用方法是继承子类通过继承并通过实现它的方法管理其状态{acquire 和release}的方法操纵状态可以同时实现排它锁和共享锁模式源码内使用:使用类型:独占类型共享类型内部属性:队列保存线程引用和线程状态的容器, 将线程对同步器的一

2016-08-03 15:24:55 745

原创 网易2016实习题-比较重量

题目描述:小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量。这些钻石的重量各不相同。在他们们比较了一段时间后,它们看中了两颗钻石g1和g2。现在请你根据之前比较的信息判断这两颗钻石的哪颗更重。给定两颗钻石的编号g1,g2,编号从1开始,同时给定关系数组vector,其中元素为一些二元组,第一个元素为一次比较中较重的钻石的编号,第二个元素为较轻

2016-07-26 23:51:28 601

原创 小米笔试题-小米Git

题目描述git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'解题思路:根据题目描述,可以基本判断出题目原型求出指定顶点到指定顶点的路径,然后对比两个路径中第一个分叉点。根据题目类型,可以判断出应该是图中的广度搜索算法。然后获得各自路径,再进行对比代码:import java.util.ArrayList;import j

2016-07-26 23:34:46 732

原创 小米笔试题-懂二进制

题目描述:世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? 解题思路:采用移位,可先右移31位,获得最高位的值,判断是否相同,然后再将原值右移1位,一直循环。即可判断代码:public class Solution { /** * 获得两个整形二进制表达位数不同的数量

2016-07-26 23:25:46 516

原创 小米笔试题 风口的猪-中国牛市

风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2

2016-07-26 23:20:40 2239 3

原创 JAVA i=i++,i=i+1的误区

原因:今天项目中出了一个问题,问题定位以后,发现是由于自己为了代码的整洁,使用了if的三式表达式,当判断条件真时,相当于执行的是i=i++; 导致i一直不致增。特此,专门查了相关资料,做了实验。记录此问题,java的jvm中使用了字节码,正因为此技术才有实现全平台通用的可能性,依靠jvm的读取字节码,执行逻辑程序。本次实验依靠字节码的来查看java的执行顺序。以下是实现i++的代码。执行结

2015-09-28 21:01:29 1403 1

原创 关于Java异常处理

熟悉Java的朋友都知道,对异常的捕获和处理对于Java来说是很重要的一项工作。在java中所有的异常都继承于Throwable,统分为两类:未检查异常和已检查异常,已检查异常需要我们在编程时提前进行{try catch },但是未检查异常(派生于Error和RuntimeException)我们在编程时无法进行捕获,但是当程序运行过程中,发生未检查异常会导致例如无法回收一些系统资源,没有关闭当前

2015-05-19 15:26:00 401

原创 关于Mysql时间相减问题的bug

今天在写程序时,当想挑选出(当前时间-最后通信时间超过2分钟)的服务器时,发现一个问提,减出来的结果不是我所预期的那样。然后,通过测试,发现,原来mysql会有一个隐形的装换,将时间戳转换成整形类型,再进行相减,而不是以unix_timestamp类型进行加减。特地做个记录,防止以后再发生类似事件。例如,我创建一个表,time-test  创建两列,time1,time2.以timestamp

2015-05-07 09:44:55 577

原创 java程序cpu占用率高,分析具体线程

今天将数据转发程序移植到LINUX服务器上,启动程序后,通过PP |grep java 发现程序占用了CPU固定在95%左右,并且一直没有下降,而是一直保持在这么一个高  度。顿时就慌了,关键第一次遇到类似的问题,并且感觉程序应该挺完善的。不应该出现这个问题。  遇到问题就要进行解决,通过查找资料,借鉴前人经验,出现占用率这么高的状态主要原因有:      1.程序计算比较密集

2015-05-04 19:43:19 2069

原创 log4j2的使用以及配置

log4j2 --Log For Java 前言     log4j2可以按照开发人员预先的设定,在指定的位置和情况下打印log语句,并且可以酌情关闭某些log语句,如开发阶段debug类型的语句等。并且,可以使用layout来定义输出语句的格式,像C语言的printf函数一样。如:要实现标准化输出,需要导入log4j2的jar包,可以再 apache官网下载,但是使用时不必所

2015-04-15 16:02:37 2134

转载 eclipse java 注释模板

为了方便代码的可读性和可维护性,注释在java程序编写过程中是必不可少的。如何高效的使用和设计注释模板,对于一个程序员来说也是必要的技能。   在Eclipse中注释模板的编辑路径:Window --> Java --> Code Style --> Code Templates --> Comments --> types --> Edit 根据 http://blog.163.

2015-04-15 10:27:26 441

转载 java中byte, int的转换

最近在做些与编解码相关的事情,又遇到了byte和int的转换,看着那些关于反码、补码的说明依旧头疼,还是记下些实用的方法吧。int -> byte可以直接使用强制类型转换: byte b = (byte) aInt;这个操作是直接截取int中最低一个字节,如果int大于255,则值就会变得面目全非了。对于通过InputStream.read()获取的int,可采用这个方法将值还原。

2015-04-09 21:12:53 311

转载 SQL基础

SQL(Structure Query Language)使用关系模型的数据库应用语言,开发时间:20世纪70年代。 SQL语言分类: DDL(Data Definition language):数据定义语言   DML(Data Manipulation Language): 数据操作语句   DCL (Data Control Language)  数据控制语句    DDL语句:

2015-04-08 21:49:02 313

疯狂JAVA讲义(第二版)光盘内容

本光盘是《疯狂Java讲义》一书的配书光盘,书中的代码按章、按节存放, 即第3章第1节所使用的代码放在codes文件夹的03\3.1文件夹下,依此类推。 另:书中每份源代码也给出与光盘源文件的对应关系,方便读者查找。 本光盘codes目录下有18个文件夹,其内容和含义说明如下: (1) 01~18文件夹名对应于《疯狂Java讲义》中的章名, 即第3章所使用的代码放在codes文件夹的03件夹下,依此类推。 (2) 本书所有代码都是IDE工具无关的程序,读者既可以在命令行窗口直接编译、 运行这些代码,也可以导入Eclipse、NetBeans等IDE工具来运行它们。 (3) 本书第12章第11节的TestTableModel.java程序,以及第13章绝大部分程序 都需要连接数据库,所以读者需要先导入*.sql文件中的数据库脚本,并修改 mysql.ini文件中的数据库连接信息。连接数据库时所用的驱动程序JAR文件 为mysql-connector-java-3.1.10-bin.jar文件。这些需要连接数据库的程序 里还提供了一个*.cmd文件,该文件是一个批处理文件,运行该文件可以运行 相应的Java程序,例如DatabaseMetaDataTest.java对应的*.cmd文件为 runDatabaseMetaDataTest.cmd。 (4) 光盘根目录下提供了一个“Java设计模式(疯狂Java联盟版).chm”文件,这是一份 关于设计模式的电子教材,由疯狂Java联盟的杨恩雄亲自编写、制作,他同意广 大读者阅读、传播这份开源文档。 (5) 因为本书第1版有些读者提出关于《疯狂Java讲义》课后习题标准答案的问题, 因此本书光盘根目录下包含一个project_codes文件夹,该文件夹里包含了疯狂 Java联盟的杨恩雄编写的《疯狂Java实战演义》一书的光盘内容,该光盘中包 含了大量实战性很强的项目,这些项目基本覆盖了《疯狂Java讲义》课后习题 的要求,读者可以参考相关案例来完成《疯狂Java讲义》的课后习题。

2014-05-10

8051矩阵键盘扫描(包括仿真)

巧妙的运用了行列扫描的方法,感觉这个设计很简单,但是要仔细看哦;

2011-12-07

空空如也

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

TA关注的人

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