自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (5)
  • 收藏
  • 关注

原创 如何判断单链表是否有环

方法一快慢节点的方式,如果快节点与慢节点相遇证明有环 public int hasLoop(Node node) { int hasLoop = 0; Node node1 = node; Node node2 = node; while(node2 != null && node2.next != null) {

2017-10-24 19:01:28 323

原创 二分查找

二分查找体现了分治的思想方法一递归的方式 public static int binarySearch(int[] datas,int begin,int end,int data) { int i = begin; int j = end; int middle = -1; if(i>j) {

2017-10-24 16:54:50 223

原创 链表逆转的两种方法

方法一递归的方式(体现了递归的思想) public Node reverseList(Node node) { if(node.next == null) {//当最后一个节点的时候返回 return node; } Node temp = node.next;//得到当前节点的下一个节点 Node ret

2017-10-24 16:36:03 815

原创 java的锁机制,synchronize与Lock比较

以前线程同步只知道synchronize关键字,后来才知道还有个lock,为什么还要有个lock来实现同步呢synchronized的局限性占有锁的线程等待IO或者其他原因被阻塞,没有释放锁的情况下,其他线程一直阻塞多个线程同时读写文件的时候,读和读操作也会发生冲突我们没有办法知道当前我们的线程是否成功获取了锁,只能傻傻的等待有这些限制所有其他的同步机制来解决,所以就有了lock,lock常

2017-10-11 10:46:46 5347

原创 Java语言synchronized与lock实现生产者消费者

这个配合生产者,消费者问题来看最适合不过了,上代码package test;import java.util.LinkedList;import java.util.Queue;import java.util.Random;public class ProducerConsumer { public static void main(String args[]) { Q

2017-10-10 11:42:05 567

原创 现有三个线程T1,T2,T3 三个线程依次执行

直接上代码package test;public class ThreadJoin { public static void main(String[] args) { thread3.start(); thread2.start(); thread1.start(); } static Thread thread1 = new

2017-10-09 17:52:55 1225

原创 ViewGroup中的onLayout

OnLayout() 自定义view

2017-01-08 23:10:32 430

原创 从源码角度分析一下OnMeasure

onMeasure 进阶

2017-01-08 20:58:28 321

原创 自定义view绕不开的OnMeasure

工作一段时间,我们肯定会接触到自定义view,因为并不是每一种酷炫的效果都可以用系统自定义的控件来完成,所以只能自己动手了,自己定义view怎么也绕不开的就是OnMeasure首先我们来看看OnMeasure方法,什么是OnMeasure(啥?别告诉我你不知道,真不知道请绕道走吧)@Overrideprotected void onMeasure(int widthMeasureSpec, int

2016-12-07 22:24:19 394

原创 自定义view中文字位置的确定

自定义view 中绘制文字是非常常见的操作,但是如果不知道文字的绘制锚点就没有办法让文字绘制到我们想要绘制的位置,这篇文章就为大家具体讲解一下怎么让文字显示到我们想要显示的位置,首先上代码和代码运行后的截图/** * 文字 * @param canvas */private void drawText(Canvas canvas) { Rect rect = new Rect((int

2016-12-03 19:38:48 1440

转载 普通Android工程转换为C/C++工程之后 再还成Android工程的解决方案

我们在调试android程序时,可能会把android工程转换成C/C++工程,或者Add Native Support。但是,我们怎么把C/C++工程还原成普通的android工程呢?下面跟大家分享我的经验。第一步:打开工程目录下的.project文件,我是用UltraEdit打开的。删除如下三幅图中蓝色区域的代码:保存并关闭.project文

2015-06-08 18:50:32 1010

转载 类图

1、什么是类图  类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系。2、类图的元素  在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)、依赖(Dependency)关系、泛化(Generalization)关系、关联(Association)

2015-05-18 15:58:22 1346

原创 android分辨率与尺寸适配,UI切图方法

1.android怎样做适配第一图片资源的适配一般图片资源文件下包含下列五个图片资源文件夹drawable-xxhdpi,drawable-xhdpi,drawable-hdpi,drawable-mdpi,drawable-ldpidrawable-xxhdpi,drawable-xhdpi,一般作为pad的图片资源,但也有例外小米4手机的分辨率较高应该用的就是drawable-xh

2015-01-27 16:04:40 5349

转载 android 适配深入研究

理论基础:1.,dp可以自适应屏幕的密度。不管屏幕密度怎样变化,只要屏幕的物理尺寸不变,实际显示的尺寸就不会变化。2.  px和dp的转换公式: px = dp * (dpi / 160)3. 其中dpi是归一化后的dpi,可能值只有120(low)、160(medium)、240(high)、 320(xhigh)四种,而我之前理解的竟然是实际设备真实的dpi! 

2015-01-23 15:37:42 450

转载 APP字体大小,不随系统的字体大小变化而变化的方法

从android4.0起系统设置的”显示“提供设置字体大小的选项。这个设置直接会影响到所有sp为单位的字体适配,所以很多app在设置了系统字体后瞬间变得面目全非。下面是解决方案[java] view plaincopyprint?Resources res = super.getResources();  Configuration conf

2015-01-23 10:17:33 535

转载 Java 的静态变量和实例变量

类的成员变量有两种:一种是被static关键字修饰的变量,叫类变量或静态变量,一种是没有被static修饰的,叫做实例变量     静态变量和实例变量的区别在于:     类静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享,静态变量可以通过类名直接访问。静态变量的生命周期取决于类的生命周期,当类被加载的时候,静态变量被创建并

2014-09-16 11:55:43 442

转载 java 内存管理

首先我们要明白一点,我们所使用的变量就是一块一块的内存空间!!一、内存管理原理:在java中,有java程序、虚拟机、操作系统三个层次,其中java程序与虚拟机交互,而虚拟机与操作系统间交互!这就保证了java程序的平台无关性!下面我们从程序运行前,程序运行中、程序运行内存溢出三个阶段来说一下内存管理原理!1、程序运行前:JVM向操作系统

2014-09-16 10:57:02 327

原创 Android jni 可变参数 宏 __VA_ARGS__

#pragma once#include #ifndef  LOG_TAG#define  LOG_TAG    "wanghj"#endif#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)#define LOGV(...) __android_log_print(A

2014-08-23 17:39:30 1514

原创 android jni Android.mk文件详解

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE    := hello-jni

2014-08-23 16:24:06 477

原创 android jni javah自动生成头文件

主要代码截图

2014-08-23 15:48:26 454

原创 C++指针和引用

1.Java中的传值和传址的问题java中基本数据类型传递的是值,也就是一份copy对函数体本身的值的改变是没有什么影响的Java中对象传递的就是地址了,对对象属性的操作会影响会影响函数体内本身的对象String是一个特殊的对象,他是存在内存中的栈区,所以String a = "a",String b = "b"   a==b才会输出true2.C++的指针和引用,引用只是一个别名

2014-05-16 17:07:13 394

原创 sql查询

1.取出sql的最后20条数据SELECT * FROM `userlist` ORDER BY uid DESC LIMIT 5

2014-05-14 14:08:49 280

原创 Eclipse 快捷键

1.自动生成方法注释GetUserList

2014-05-14 11:10:17 433

转载 android sqllte增删改查

插入数据有两种方法:①SQLiteDatabase的insert(String table,String nullColumnHack,ContentValues values)方法,参数一是表名称,参数二是空列的默认值,参数三是ContentValues类型的一个封装了列名称和列值的Map;②编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来

2014-04-27 17:48:42 567

转载 Android横竖屏切换

1.锁定屏幕方向,禁止切换:在AndroidManifest.xml中的Activity参数中加上android:screenOrientation="landscape" 保持横屏ORandroid:screenOrientation="portrait" 保持竖屏2.每次横竖屏切换时,会重启Activity,所以还要禁止切换屏幕时重启Activity,同样在在Android

2014-04-23 12:58:39 374

转载 startActivityForResult

在Android中startActivityForResult主要作用就是:A-Activity需要在B-Activtiy中执行一些数据操作,而B-Activity又要将,执行操作数据的结果返回给A-Activtiy//看效果//看代码[java] view plaincopypackage s

2014-03-28 10:46:49 395

转载 Activity启动模式

Activity启动模式设置:        Activity的四种启动模式:    1. standard        模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。    2. singleTop        如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会

2014-03-28 10:07:23 261

原创 Android 手电筒设计

下面是主要代码,基本上就是这个逻辑,其实挺简单的boolean isOpenCamera = false;private android.hardware.Camera camera;//开启或者关闭手电筒private void OpenLight(){if ( isOpenCamera){camera.stopPreview(); // 关掉亮灯came

2014-03-27 16:47:16 411

原创 AlarmManager

private static AlarmManager getAlarmManager(Context ctx){return (AlarmManager) ctx.getSystemService(Context.ALARM_SERVICE);}public static void startGpsService(Context ctx){AlarmManager am

2014-03-26 15:08:02 467

转载 Application生命周期的学习

application生命周期的学习:1、onCreate 在创建应用程序时创建2、onTerminate 当终止应用程序对象时调用,不保证一定被调用,当程序是被内核终止以便为其他应用程序释放资源,那么将不会提醒,并且不调用应用程序的对象的onTerminate方法而直接终止进 程3、onLowMemory 当后台程序已经终止资源还匮乏时会调用这个方法。好的应用程序一般会在这个方法里面

2014-03-24 18:31:08 448

原创 Android 主线程和子线程的关系

在Activity开启的子线程并不会自动随Activity的destroy而关闭,所以必须手动去关闭子线程或者通过boolean的方式让子线程结束运行。开启的子线程有for循环或者while循环的要更加注意。

2014-03-24 10:19:18 575

原创 The file does not exist for the external tool

我发生这个问题的原因是,引入了jni的编译工具,但是我的Eclipse中只有SDK环境而没有NDK环境,把不用的build去掉就可以了

2014-03-20 10:12:28 4998

原创 java private friendly protected public

位置                           private 默认 protected public同一个类                           是        是           是       是 同一个包内的类                 否        是           是       是 不同包内的子类            

2014-03-13 22:01:37 317

转载 java中参数的传递

Java中函数参数的传递是值传递还是引用传递? Java中参数传递时传递到函数中的参数都是原变量的一份拷贝,对于非类类型如int,float等,这份拷贝自然和原变量脱离了关系,这不难理解;而对于类的实例而言,这份拷贝恰巧是实例引用的拷贝,它(参数)指向的实例地址和原实例引用指向的实例地址都是一样的,因此对参数的修改有时也会影响到实例本身,故此造成了Java传递类实例是传递的引用即地址的

2014-03-06 22:22:11 405

转载 java堆和栈

Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等 指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时 动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取

2014-03-06 21:01:45 414

原创 IOS语言Object-c语言随笔(四)

1.IOS消息机制消息能够接受参数消息可以嵌套调用消息可以发送给Objective-C对象,也可以发送给类(1)消息的参数一个没有参数的消息是这样的[object methodWithoutParamerer]若带有参数[object methodWithOneParameter:value]若带有多个参数[object  methodWithFirstPa

2014-03-03 22:36:31 367

原创 IOS语言Object-c语言随笔(三)

Objective-C面向对象的特性面向对象最重要的概念就是类,通过类可以实现面向对象两个主要的特性:继承和聚合NSObject是所有类的根类1.类的定义都在 .h文件中进行,典型的定义如下@interface FirstViewController : UIViewController{    NSString *name;    NSArray *array;

2014-03-02 23:15:11 465

原创 IOS语言Object-c语言随笔(二)

1.常量、变量、和宏Object-C的变量声明和C完全相同:类型,声明对象需使用指针符号*,比如:NSDate *date;NSString *string;NSArray *array;常量可以用static关键字声明static NSString *string = @"abc";预定义宏#define PATH @"ssss"2.#include和#imp

2014-03-02 11:05:56 506

原创 IOS语言Object-c语言随笔(一)

1.基本数据类型C语言中有5种基本类型:char、int、float、double、void,Object-C中仍然可用,并且这些基本类型可以用修饰符unsigned、signed、short、long进行修饰。整型的每一种都有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型,如果需声明无符号类型的话就需要在类型前加上unsigned。

2014-03-02 09:59:38 947

原创 IOS语言object_c语言

在项目模版中选择MAC OS X——Application——Command Line Utility——FoundationType选择Foundation打开其中生成的HelloWorld.m代码如下所示#import int main(int argc, const char * argv[]){    @autoreleasepool {        

2014-02-26 23:42:51 477

测试结果展示自定义view

测试结果展示动画,自定义

2016-12-07

AndroidAppMsg

在顶部弹出信息,弹出view,显示网络失败,或者其他提示信息

2015-10-19

冒泡排序 SortTest

冒泡排序,面试时候可能会考到,让你很蛋疼的纯手写,一时可能想不起来,特此写了一个,可以用jdk环境直接编译

2015-07-21

时间选择控件

whellview时间选择控件,whellview控件的高级应用

2014-02-13

从assets获取图片和文档

从assets获取图片和文档,进行图片和文档展示,只需出入类似head/hello.jpg,这是assets下head文件夹下hello,jpg图片,文档同理

2013-10-10

空空如也

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

TA关注的人

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