Java
liuyakui
纸上得来终觉浅
展开
-
快慢指针应用场景 - Java版
1. 判断单向链表是不是一个环形链表//判断是否有环,快指针走两步,满指针走一步,如果有环,两个指针会相遇 public static boolean isRing(PointerBean root) { if (root == null) { return false; } PointerBean fast ...原创 2019-12-16 14:57:35 · 443 阅读 · 0 评论 -
Java二叉树遍历 - 递归和非递归实现
package tree;public class Test { public static void main(String[] args) { TreeNode tn1 = new TreeNode(1); TreeNode tn2 = new TreeNode(2); TreeNode tn3 = new TreeNode(...原创 2019-03-13 16:43:00 · 170 阅读 · 0 评论 -
求整数n的二进制数 1的个数,0的个数
常见方法x&(x-1) 统计对一个数中二进制1的个数x|(x+1) 统计对一个数中二进制0的个数 //统计二进制1的个数 private static int OneN(int n) { int count = 0; while (n != 0) { count++; n &...原创 2018-11-13 17:48:54 · 591 阅读 · 0 评论 -
Java斐波那契数列
斐波那契数列又称黄金分割数列,从第三个数开始,每一个数是前两个数的和。例:0,1,1,2,3,5,8,13...三种方法实现斐波那契数列 //(1)递归:函数自己调用自己 //(2)递归的"缺陷":递归到一定程度,会发生"栈溢出" //(3)递归的"时间复杂度":递归总次数*每次递归的次数 //递归的"深度":树的高度(递归的过程是一个"二叉树") ...原创 2018-11-02 11:24:01 · 427 阅读 · 0 评论 -
java最长公共子序列
先搞明白两个概念,最长公共子序列 和 最长公共字串的区别,两者最大的区别是,最长公共子序列不要求连续性,而最长公共字串要求连续:例如:X = “abcder”,Y = “abcxyr”,这两个字符串的最长公共子序列是 “abcr”,而他们的最长公共字串是“abc”我们用动态规划法来求解最长公共子序列,因为最长公共子序列具有最有子结构性质,可以分成子问题来递归求最优解,最后组合子问题求解出问...原创 2018-11-06 20:10:10 · 569 阅读 · 0 评论 -
Java代码优化
1、尽量指定类、方法的final修饰符带 有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是 final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该 类所有的方法都是final的。Java编译器会寻找机会内联所有的fin...原创 2018-08-02 12:02:00 · 134 阅读 · 0 评论 -
播放raw下的音乐文件
我们都知道在安卓res/原创 2014-04-12 18:53:13 · 3376 阅读 · 0 评论 -
抽象类的基本特点和抽象类与一般类的异同
抽象类: 如果多个对象同时具备某一个功能,但是这个功能的内容 却不同,那么这个功能就是抽象的。 例如: class DemoA {void show(){ System.out.println("DemoA");} } class DemoB {void show(){ System.out.pr原创 2014-01-30 09:33:03 · 3078 阅读 · 0 评论 -
Android入门,基于4.x系统自定义标题栏详细教程
引言:我们做的大部分应用,一般都需要在标题栏里放一些控件,这时候安卓系统的标题栏就不能达到我们的需求。因此安卓允许开发者自定义标题栏的样式,大小,背景等属性。下面我们详细介绍下,安卓自定义标题栏的详细步骤: 一、在res文件夹下,创建一个drawable文件夹,在drawable文件夹中创建一个mxl文件(名字可以自己随便取,这里我取为title.mxl)。 1、 title.mx原创 2014-03-11 15:12:16 · 1099 阅读 · 1 评论 -
Please ensure that adb is correctly located at 'F:\Android\adt-bund异常的解决方案
启动eclipse,测试应用出现以下 异常:[2014-03-04 12:57:32 - dataTime] Please ensure that adb is correctly located at 'F:\Android\adt-bundle-windows-x86-20130522\sdk\platform-tools\adb.exe' and can be executed.原因原创 2014-03-04 13:01:53 · 5676 阅读 · 0 评论 -
Java单例设计模式详解
java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。优点:实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本,从而确保所有对象都访问唯一实原创 2015-08-14 16:56:48 · 638 阅读 · 0 评论 -
死锁
/*死锁: 一、死锁的基本概念 当若干个进程,竞争使用资源时,可能每个进程要求的资源都已被另一个进程占用,也就没有任何一个进程能够正常运行,这种情况称为死锁。 系统发生死锁时,死锁进程的个数至少为两个。所有死锁进程都在等待资源,其中至少有两个进程已占有资源。 二、产生死锁的主要情况:进程推进顺序不当,同类资源分配不当 三、产生死锁的四个必要条件: 1原创 2014-04-16 09:28:36 · 709 阅读 · 0 评论 -
java学生信息管理系统源代码
/*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */import java.util.Scanner;//导入java输入流import java.lang.*;import java.io.*;class Student{ private static Student[] s=new Stu原创 2014-08-26 15:25:24 · 37400 阅读 · 43 评论 -
android.os.NetworkOnMainThreadException异常的解决方法
产生 android.os.NetworkOnMainThreadException的原因:一个APP如果在主线程中请求网络操作,将会抛出此异常。Android这个设计是为了防止网络请求时间过长而导致界面假死的情况发生。原创 2014-08-23 09:37:24 · 1748 阅读 · 0 评论 -
检测JDK为32位或64位的方法
class jdkVersion{ public static void main(String[] args) { String version = System.getProperty("sun.arch.data.model"); System.out.println("当前JDK版本:"+version+"位"); }}原创 2014-08-04 08:31:02 · 831 阅读 · 0 评论 -
java 键盘事件处理案例
/* *要求: * *在文本框中,输入键盘上的各个按键, *在文本域中显示用户按下的是什么键,并输入这个按键的ASCII码。 */import javax.swing.*;import java.awt.*;import java.awt.event.*;class MouseKey{private JFrame frame;private JLab原创 2013-12-18 12:24:21 · 1430 阅读 · 0 评论 -
总结接口的基本特点浅谈接口和抽象类的区别
1. 抽象方法:Java中抽象方法就是以abstract修饰的方法,这种方法只声明方法返回的数据类型,方法名称和所需的参数,没有方法体,也就是抽象方法只需声明,而不用实现。它存在与抽象类或接口中。 2. 当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是 《接口》 3. 接口中常见的成员: 全局常量: public static final i原创 2014-01-30 09:20:11 · 1016 阅读 · 0 评论