关闭

synchronized和ReentrantLock实现消费者生产者问题

并发执行和并行执行的区别:并行执行是指两个或多个事件在同一时刻发生,而并发执行是指两个或多个事情在同一时间间隔内发生。并发执行在宏观层面上看,事情之间是同时发生的。比如说在2秒的时间内发生的两件事情,在历史的角度上可以看作是“同时发生”的。 在Java中,多个线程对临界区资源操作时,需要保持程序的可再现性,或者说内存可见性。不管哪个线程操作了临界资源,操作的结果都应该对下一个操作该资源的线程可见...
阅读(280) 评论(0)

面试题之螺旋矩阵

给定一个m*n的矩阵,按照螺旋顺序返回所有元素。 举例:   1    2    3              8    9    4              7    6    5 返回的应该是1 2 3 4 5 6 7 8 9. 从左边开始,当碰撞到右边的边界时,转向 (向下)。然后从右到左,碰撞到左边边界时,转向 (向上)。一直到最后一个元素。 public static Ar...
阅读(182) 评论(0)

给定两个有序数组,找出合并之后的数组中位数

中位数定义:假如一个数组的长度Len为偶数,那么中位数为第 Len/2 个数;如果Len为奇数,那么中位数为第Len/2+1个数。 比如 Arr[ 1, 2, 3, 4, 5]中位数为3;Arr[ 2, 3, 4, 5]中位数为3。 给定两个递增排序数组,请设计一种高效算法求出两个数组的中位数。 比如 A[ 1, 2, 3, 4, 5]         B[ 2, 3, 4, 5] 那么...
阅读(2515) 评论(1)

给定一个数组,找出数组缺少的最小的正整数

题目使这样的:请设计一个高效算法,查找数组中未出现的最小正整数。 给定一个整数数组A,请返回数组中未出现的最小正整数。 测试样例: [-1,2,3,4] 返回1 一看到这个题目我想到的是用另外的一个数组B,长度为A的长度+1,来存储遍历数组A的数的值。 if(A[i] == i+1)  B[i+1] = A[i]。然后遍历数组B,出现空缺的地方即是最小未出现的正整数。但是假如要求...
阅读(921) 评论(0)

Java实现大数相乘

两个很大的整数如何实现相乘呢?大数超出了基本类型的表示范围,所以不能用基本类型直接相乘。我们可以通过String来对它们,各位进行分解地相乘。先来看看如何实现,首先研究一下基本的乘法规则。 个位只能由个位相乘产生,十位由十位乘以个位产生,百位由百位乘以个位产生。同时还会有进位。所以获取相乘的两个数的结果位result[i+j] 的值应等于A的第i位乘以B的第j位,加上A的第j位乘以B的第i位...
阅读(323) 评论(0)

Java实现大整数相加

在不使用BigInteger这个类的情况下,如何自己去实现两个超级大的数相加呢? 首先我们来看一下加法的原则: 1.同号相加,把两数相加,结果符号位取任意一个数的符号                                                          2.异号相加,取较大的数减去较小的数,结果符号位取较大的数的符号位 由于是超级大数,我们使用String来存储。...
阅读(3064) 评论(0)

Java实现八大排序之一

1.选择排序 先来说一下选择排序的基本思想:从数组的第一个数开始,将它与后面的每个数进行比较,如果比它小,就交换这两个数。这样一遍下来便可以找出最小的数了;接着从第二个数开始,重复第一个步骤。直到最后一个数,这样就完成了数组元素的排序。文字太抽象,上图吧。 /** * 选择排序 * @param arr * */ public void selectSor...
阅读(251) 评论(0)

自定义View的简单尝试——自定义日历视图

之前学过的东西隔了很长一段时间现在又忘了,原来已经不打算做码农了,但是好像没有什么选择了,先试试看自己合不合适做程序猿吧。今天来学一下,自定义View。我们看看今天要做的东西 这是我在某个地方看到的一张图,不知道在哪个地方了。我们先来分析一下,如果画出类似于这种效果。首先确定当前月的第一天是星期几,以及当前月的天数。然后用一个循环来画每一个日期,当然这要计算每个日期所在的位置。宽度是平均...
阅读(256) 评论(0)

Android自定义View

Android 自定义View (一) 鸿洋大神的文章,在此转载。出处:http://blog.csdn.net/lmj623565791/article/details/24252901 很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章。先总结下自定义View...
阅读(125) 评论(0)

ListView中的Button或CheckBox点击处理

在ListView的使用过程中,我们经常会用到View的复用机制,来优化应用的性能。也就是说ListView的item的View存在着复用,刚开始Adapter会创造一个屏幕的item,以后的Item就会复用这最初的Item View,只不过把数据更换了而已。于是这样便会带来一个问题,加入Item上有一些局部事件,比如说ChexkBox,当我们点击的是第一项的时候,第一个Item的CheckBoX...
阅读(574) 评论(0)

Android中使用XmlPullParser操作简单的xml文件

在开发的过程中,如果需要保存少量数据,可以使用xml来保存,尽量不使用数据库。解析xml的方式有Dom,Sax,Dom4j等,今天要学的是XmlPullParser。 我们先来看看要解析的文件格式是什么 XmlPullParser是从上到下对xml文件进行解析的,跟我们写xml文件的顺序是一样的,顺序获取每个节点的值,一次解析。 其实用法很简单,看代码的注释就应该知道怎么使用啦 p...
阅读(194) 评论(0)

最简单地实现标签页导航-----TabLayout+ViewPager

上次使用Fragment+ViewPager实现了标签页导航,虽说效果达到了,但是你们有没有觉得,要写好多代码,还有处理好多逻辑。假如每次都要这样写,这么多代码,太没意思啦。可能你会想,要不封装一下吧。可是要怎么封装呢?在你冥思苦想的时候,谷歌早已替你解决好了这个问题。谷歌在Material Design之后,添加了新的控件支持库。在 android.support.design.widget这...
阅读(742) 评论(0)

Fragment+ViewPager实习顶部导航栏效果

闲话不多说,先上效果图 可以看到我们要实现的效果有两个,1.滑动ViewPager的时候,顶部的黄色横条跟着一起滑动。当滑动完毕的时候,ViewPager对应的标题的颜色发生改变。                                                                 2.当点击一个标题的时候,ViewPager显示对应的Fragment,然后颜色也...
阅读(1181) 评论(0)

Java设计模式透析之 —— 适配器(Adapter)

本文为转载文章,作者是郭霖大牛,传送门------http://blog.csdn.net/guolin_blog/article/details/9400141 今天一大早,你的leader就匆匆忙忙跑过来找到你:“快,快,紧急任务!最近ChinaJoy马上就要开始了,老板要求提供一种直观的方式,可以查看到我们新上线的游戏中每个服的在线人数。” 你看了看日期,不是吧!...
阅读(183) 评论(0)

git上传本地项目到github

分类: 说来也惭愧,我是最近开始用github,小白一个,昨天研究了一个下午。终于可以上传了,所以今天写点,一来分享是自己的一些经验,二来也是做个记录,万一哪天又不记得了:)   废话不多说,直接来,这次主要介绍的是windows下的安装和使用。   【第一步】建立先仓库   第一步的话看一般的提示就知道了,在github新...
阅读(226) 评论(0)
24条 共2页1 2 下一页 尾页
    个人资料
    • 访问:31627次
    • 积分:453
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:3篇
    • 译文:0篇
    • 评论:4条
    最新评论