自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 Android Service 线程

Service 与线程的区别?               1.首先Service是Android系统提供的组件,用于执行一些“无界面”的任务;线程则是操作系统或者Java语言的概念,可以开启一个线程用于执行一系列任务,两者不在一            个层面。               2.在Android中,每一个App至少对应一个进程,在该进程中有且必有一个线程是主线程,也称UI线

2017-11-16 00:49:59 2563

原创 Java RTTI与反射

首先,Java RTTI与反射,搜了很多资料,结论是,这名字本身就很sb,这俩东西很难说清楚区别又不完全一样(好吧,反正只能先这么记了)。       按照大多数程序员比较能接受的概念,运行时类型识别(RTTI, Run-Time Type Identification)指的是Java在运行时能够获得或判断某个对象的类型信息,这东西是C++中的一个概念,由《Think in Java》的作者薅

2017-11-10 01:12:35 347

原创 Java注解梳理

Java注解,新入门的菜鸟用的不多,但是想成长必须理清楚的一个知识点,今天来捋一捋,梳理一下。      首先,Java注解是干嘛的,我觉得注解是一种标记,或者说一种约束。比如在Android开发中使用的Retrofit框架就定义了几种注解,比如对请求方法的注解@GET @POST, @GET("video/create.json") Call> createVideo(@Q

2017-11-07 23:04:50 630

原创 站在线程角度看Android Handler 机制

问题一:Handler机制中如何将两个线程联系起来,站在线程的角度,各个线程都做了些啥,执行了哪些语句?问题二:UI线程需要处理很多事务且不能堵塞,一个线程只有一个控制权,一个线程中sendMessage之后,处理线程的控制权会在什么时机处理发送过来的message?问题三:与UI线程绑定的Handler的postDelay(Runnable r, Long delay)方法会不会阻塞UI线程?为啥?

2017-09-26 02:53:30 252

原创 StaggeredGridLayoutManager 瀑布流返回顶部时跳跃问题 解决办法

使用RecyclerView搭配StaggeredGridLayoutManager实现瀑布流时,一般会在Adapter的onBindViewHolder()方法里给每一个item随机生成一个高度,使得item的排布错落有致,不死板。但是当我们下拉到底部之后,上拉的时候,每一个item又会执行一遍onBindViewHolder()方法,这时如果还是简单随机给一个高度,由于每个item的高度都与之

2017-09-16 13:56:05 6180 2

原创 Android开发笔记 ViewPager 嵌套 RecyclerView instantiateItem数据初始化错位问题

在应用开发过程中,使用ViewPager嵌套RecyclerView实现整屏的横滑是很常见的需求。在为ViewPager设置adapter的时候,需要重写初始化方法, public Object instantiateItem(ViewGroup container, int position) {}来告诉ViewPager对应每个position展示什么View,在这个方法中将pos

2017-08-19 19:08:46 3724 1

原创 Java代码块执行顺序

参考文章:http://blog.csdn.net/hejjunlin/article/details/40746727                只记结论:顺序就是父类静态代码块---->子类静态代码块----->父类非静态代码块------->父类构造------->子类非静态代码块------>子类构造

2017-08-19 11:41:02 230

原创 Android开发笔记-音频录制/播放&音频

虽然这篇笔记我厚着脸皮标成了原创,但是内容基本上是大神的博客以及开源项目的的阅读笔记,当然了,这些博文我也并无分享知识的心态,只是整理一下笔记便于以后翻看,如果有同学看到也不要说我抄袭哈:       大神的ID:Jhuster       大神的博客:http://ticktick.blog.51cto.com/823160/1748506       大神的git地址:https:

2017-08-16 01:55:12 896

原创 Android开发笔记-音频录制/播放&音频

虽然这篇笔记我厚着脸皮标成了原创,但是内容基本上是大神的博客以及开源项目的的阅读笔记,当然了,这些博文我也并无分享知识的心态,只是整理一下笔记便于以后翻看,大家也不要说我抄袭哈:       大神的ID:Jhuster       大神的博客:http://ticktick.blog.51cto.com/823160/1748506       大神的git地址:https://git

2017-08-16 01:29:31 386

原创 Android 开发笔记: 获取RecyclerView 滑动距离

项目里有一个功能是根据RecyclerView的滑动距离来刷新一些组件的UI,搜了一下常用的方法,记录一个比较靠谱的办法:     public int getScollYDistance() { LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();

2017-08-14 23:44:14 5860

原创 存放在HashMap内的数据更新验证

private Map testMap = new HashMap(); public class Persion { private String name; public String getName() { return name; } public void setName(String n

2017-04-28 13:27:55 1968

原创 Android面试知识点-java篇

Android面试知识点总结-java篇1.    对抽象,继承和多态的理解java 中一个类只能继承于另一个类,继承带来了三个好处:减少代码冗余;维护变得简单;扩展变得容易。构造方法不能被继承!一个类得到构造构造方法只有两种途径:自定义构造方法;使用JVM分配的缺省构造方法。但是,可以在子类中可以通过super关键字访问父类的构造方法。方法的重写Overriding和重载Over

2016-09-25 15:31:24 669

原创 Android-爬取网页内容的几种方法

记录几种抓取网页数据的办法,就是已知一个网页的域名,获取网页内容为一个String字符串或者Document对象。第一种:urlConnection,通过url类的openConnection()方法,得到一个HttpURLConnection对象。通过InputStreamReader将整个网页内容转为String字符串。URL url = new URL(Url); H

2016-05-06 10:46:13 3173

转载 Android事件分发机制

原文链接:http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.htmlAndroid 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);

2016-03-17 16:19:37 259

原创 Android四大组件—Activity

在Android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。对应MVC设计模式,Activity应该属于控制器。          Activity的生命周期:一个Activity有三种状态,即运行态,暂停态,停止态。通过七个控制方法来控制各种运行状态。            1、 onCreate :当活动第一次启动的

2016-03-17 16:03:59 343

原创 默写简单的排序算法

快速排序:public void sort(int arr[],int low,int high) { int l=low; int h=high; int povit=arr[low];  while(l<h) { while(l=povit) h--; if(l<h){ int temp=arr[h]; arr[h]=arr[l]; arr[l]=temp; l

2016-03-15 09:28:13 412

原创 java JVM 垃圾回收算法不完全总结

Java的一个很大的特点便是有自动垃圾回收机制,这里总结几个简单的垃圾回收算法。引用计数法:引用计数器的实现很简单,对于一个对象 A,只要有任何一个对象引用了 A,则 A 的引用计数器就加 1,当引用失效时,引用计数器就减 1。只要对象 A 的引用计数器      的值为 0,则对象 A 就不可能再被使用。引用计数器的实现也非常简单,只需要为每个对象配置一个整形的计数器即可。但是引用计数器有一

2016-03-15 09:19:31 353

原创 java运行时数据区划分

Java运行时数据区包括:虚拟机栈区,堆区,方法区,程序计数器等。      其中,虚拟机栈区也就是我们常说的栈区,线程私有,用于存放基本数据类型,对象的引用和ReturnAddress,在编译期间完成分配。      堆区:java堆,也成GC对,所有线程共享,存放对象的实例和数组,java堆是垃圾收集器主要管理的区域。      方法区:所有线程共享,存储被

2016-03-14 16:33:17 399

翻译 jvm加载class的原理

找了很久的jvm加载class的原理,终于找到一篇解释的比较清楚的粘过来,链接:http://www.cnblogs.com/Ghost-Draw-Sign/articles/1834671.htmlJVM加载class文件的原理机制1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的, 类装载器所做的工作实质是把类文件从硬盘读取到

2016-03-14 16:14:05 316

原创 腾讯2016笔试题-红包

腾讯2016年的一道校招笔试题,菜鸟解答

2015-10-16 17:04:38 817

原创 整数N的N次方

package test3;public class test3 { public static void main(String[] args) { int n=256; int i=1; int j=1; int temp=1; int flag=0; for(;i<250&&flag==0;i++){ for(;j<=i;j++){ temp=tem

2015-04-08 11:36:19 589

原创 多人打扑克分组问题java实现

一群人想打斗地主和升级。已知他们已经1个、2个、3个或者4个人成为一桌了,现在要把他们全部变成3人一桌或者4人一桌,问至少移动几个人?(要保证所有人都能进行游戏)输入格式:多组数据,每组数据一行,包含4个整数a,b,c,d 0输出格式:至少移动的人数,如果不可能完成,输出-1package test2;public class test2 { public static v

2015-04-03 17:04:33 464

原创 希尔排序 java实现

package org.ys.shellSort;public class shellSort { public static void main(String[] args) { int a[]={1,23,42,34,53,62,2,26,37,28,39}; double d1=a.length; int temp = 0; while(true){ d1=Math

2015-04-01 17:34:34 307

原创 直接插入排序 java实现

package org.ys.insertSort;public class insertSort { public static void main(String[] args) { int a[] = {13,24,12,34,52,16,75,45,41,67,86,65,32}; int length = a.length; for(int i =1;i<length;i+

2015-04-01 16:30:10 345

原创 java 控制台输入

java可以用以下方式接收来自控制台的输入:System.out.println("请输入第一个字符串:");//提示信息 byte[] b = new byte[1024];//数组缓冲 int n = System.in.read(

2015-03-31 21:19:20 377

原创 判断字符串中是否含有某个子串

package org.ys.test;public class strstr { public static void main(String[] args) throws Exception{ try{ System.out.println("请输入第一个字符串:");//提示信息

2015-03-27 15:01:33 903

原创 PANIC: Could not find *.ini file in $ANDROID_AVD_HOME (AVD启动问题)解决办法

第一次打开Android AVD或者升级新版本的时候,可能出现这么一串错误:PANIC: Could not find *.ini file in $ANDROID_AVD_HOME nor in $HOME/.android/avd​可能的解决办法:     在环境变量名称ANDROID_AVD_HOME前加上符号$

2015-03-16 14:50:33 2455

原创 C++学习点滴 函数的工作原理 按值传递按址传递

C++学习点滴  函数原理 按值传递按址传递  深拷贝浅拷贝

2015-01-26 16:43:34 448

原创 C++ 学习点滴 声明与定义的区别 内联函数

好久没更博客了,满满的负罪感,忙了两周期末考试,又无所事事的玩了一周,开始更博客。       记录一下最近学C++的一些东西吧。        1.声明与定义的区别          在C++中,函数声明与函数定义最直观的区别应该是函数声明以分号结尾且没有函数体。          即:声明的形式:函数返回值类型  函数名称 (参数)分号

2015-01-26 16:16:57 475

原创 Python GUI 2048的图形界面实现(三)

上一篇博文中我们实现了button触发对应的lebal值,并动态显示出来。       这一次我们加入对应的上下左右按键触发相应的计算结果,当检测到button触发后没有可合并的小方块,也即二维数组没有变时,对数组更新,随机在空白处插入一个数字2或者4。       这里的move函数跟update函数copy自博友yaolongdeng的一篇博文:http://blog.csdn.net

2015-01-04 11:59:26 1066

原创 Python GUI 2048的图形界面实现(二)

上一篇博文我们实现了2048的界面设计,这一篇我们继续。       上一篇的界面中,button的触发事件并没有定义,所以这一次我们要加入button触发的事件定义。label显示的值也是我们定义时写进去的定值,这一次要根据button事件触发,改变相应的lebal值。        当然我们还要定义一个二维数组,然后把数组对应的值给对应的lebal,button触发后,改变相应的数组值

2015-01-02 17:04:38 1354

原创 Python GUI 2048的图形界面实现(一)

2015年的第一篇博客来啦!           元旦假期不想复习期末考试,发现一篇Python实现的2048游戏,觉得挺好玩,就想写一个gui程序,把游戏实现了。           当然,今天没能成功,做了一部分东西先传上来。           先看廖老师的教程:                  根据廖老师的介绍,学习一些 button lebal  的属性

2015-01-01 12:44:06 1483

原创 数据挖掘 文本分类 (八)训练和测试

今天来个大结局吧,我们有了chi值或者TF-IDF值以后,就可以拿他们用lib-svm工具进行训练了。         当然我们还要对数据进行一些标准化处理,我们需要将某词与该词对应的值作为一个向量处理,这个就是特征向量了。         举个例子,我们得到的某个文本里有一个这样的值:汽车   3456.2314    。         其实这就是一个二维的特征向量,我们可以把文字

2014-12-26 09:37:34 2339 1

原创 数据挖掘 文本分类(七)特征提取

上一篇我们做完了词频统计,下面就该提取文本特征了。其实词的频率就是文本最重要的特征了,但是我们如果只靠词的频率去判断文本的分类的话,显然正确率是很低的。        当然,文本的特征提取有很多办法了,我上这门课程老师着重介绍的是TF-IDF和卡方校验两种。        我们先来看IF-IDF的计算方法:                词频(term frequency,TF)指的是

2014-12-24 11:26:03 6565 3

原创 数据挖掘 文本分类(六)统计词频

接上一篇博客,这次我们该统计词频了。        至于为什么要统计词频,就不用说了吧,一个词在某类文本里出现的次数越多,越能代表这一类文本。当然如果某个词在这一类文本里出现次数很多而在其他类文本里根本不出现,就更能代表这一类文本了(这个我们下一篇博文再说)。        不过统计词频好像也没什么可说的,尤其是不涉及多个文本类的时候,只要读进来判断下,然后有一个标记位适当的自加一即可。

2014-12-23 13:57:35 3865 1

原创 数据挖掘 文本分类 (五)取名词去停用词

之前写了一篇文本分类(五),不知道怎么滴没发表成功,csdn连个备份都没有,草稿箱里也没有,真是备受打击!        隔了几天,只好重来......        好,上一篇做到了分词这一步,然后就是取名词和去停用词了。        首先说取名词,一篇文本,里边有好多词是没有用的,尤其对于判断这篇文本是某一类文本的时候。比如形容词,副词,助词什么的,这类词对我们判断文本属于哪一类

2014-12-23 13:36:22 7392 1

原创 数据挖掘 文本分类(五)

上一篇博文我们已经对文本做了分词处理,这篇我们开始做取名词,去停用词的处理。          首先是取名词,我们要把名词取出来,是因为一篇文档,名词最能够代表这一篇文档属于哪一类的,其他的形容词,副词之类的词语并不能很好的代表某一类文档。所以要取名词,这个当然是用正则表达式了。          我们看一下分词结果:         名词词性的词分词工具会用n表示,那

2014-12-21 21:33:16 1592

原创 数据挖掘 文本分类(四)批处理分词

上一篇博文中实现了用ICTCLAS工具对本地txt文本文件做分词处理,并将分词结果保存到本地。             这次该把我们测试集中每一类的1000篇左右的文章全都分词并保存了,这个......应该叫做批处理吧?总感觉批处理是一个很高大上的过程,最起码得有一个专门的模块或者函数来实现,找了半天,也没找到,只能自己试着去写了.....             我们一共是9类文档,得有

2014-12-18 20:28:34 2204

原创 数据挖掘 文本分类(三)本地文档分词再保存到本地

上一篇博文中,我们跑通了分词工具的示例文件,下面我们就要开始用分词工具尝试对我们之前准备的搜狗语料库里的文本文件进行分词了。          首先我们来看nlpir.py文件代码:能看出来, 只要我们把想要分词的中文文章以字符串的形式传递给p,然后通过调用相关的函数就能实现分词,并且分词结果可以输出。这时,就要考虑python读入和输出文本文件的问题了。根据廖雪峰老师的教

2014-12-17 12:56:34 3621 4

原创 数据挖掘 文本分类(二)搜集中文语料库与ICTCLAS分词

在上一篇博客中简单介绍了实验环境和流程,这一篇我们继续。           第一步,下载搜狗中文预料库。链接:http://www.sogou.com/labs/dl/c.html                           我们下载24M大小的精简版(tar.gz格式)                                   下载完了,解压缩,放

2014-12-16 16:26:06 3432 1

空空如也

空空如也

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

TA关注的人

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