Java
书弋江山
和光同尘,与时舒卷;戢鳞潜翼,思属风云,漆黑如夜,孑然踽行
展开
-
Java 观察者模式
采用接口方式:package te4;//通知接口public interface Subject {public void Add(BaseObserverObj obj);public void Del(BaseObserverObj obj);public void Noti();}import java.util.ArrayList;//通知类public class Su原创 2017-05-17 00:38:59 · 207 阅读 · 0 评论 -
Java Serializable序列号和反序列化
当一个类实现了Serializable接口(该接口仅为标记接口,不包含任何方法定义),表示该类可以序列化.序列化的目的是将一个实现了Serializable接口的对象转换成一个字节序列,可以 把该字节序列保存起来(例如:保存在一个文件里),以后可以随时将该字节序列恢复为原来的对象。甚至可以将该字节序列放到其他计算机上或者通过网络传输到其他计算机上恢复,只要该计 算机平台存在相应的类就可以正常恢复为原原创 2017-06-23 17:11:54 · 1685 阅读 · 0 评论 -
Java 内存管理和垃圾回收机制
从Java平台的逻辑结构上来看,我们可以从下图来了解JVM:从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别对于JVM自身的物理结构,我们可以从下图鸟瞰一下:对于JVM的学习,在我看来这么几个部分最重要:Java代码编译和执行的整个过程JVM内存管理及垃圾回收机制下面将这两个部分进行详细学习J转载 2017-06-26 11:48:08 · 281 阅读 · 0 评论 -
Java Socket编程
Java Socket编程----通信是这样炼成的Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket。像大家熟悉的QQ、MSN都使用了Socket相关的技术。下面就让我们一起揭开Socket的神秘面纱。Socket编程一、网络基础知识(参考计算机网络) 关于计算机网络部分转载 2017-06-27 16:58:56 · 283 阅读 · 0 评论 -
数据结构 排序算法
之前每次牵涉到排序都是冒泡排序,别的排序基本很少有,因为最开始是写app的,而且大部分API 都提供的有排序函数,后来就是看一些底层,和一些面试感觉有必要再总结一下 交换数据,指针实现void swiss(int *x,int *y){ int temp = *x; *x = *y; *y = temp;}最简单的冒泡排序void test_maoPao...原创 2017-06-26 00:35:48 · 336 阅读 · 0 评论 -
数据结构(四)图(一)图的表示
public class ImageGraph1 { private final int V;//顶点数 private int E ;//边数 private Bag<Integer>[] adj;//邻接表 public ImageGraph1(int v){ this.V = v; this.E = 0; thi原创 2017-06-28 01:11:44 · 342 阅读 · 0 评论 -
Java 集合类详情
Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Element转载 2017-07-09 22:21:19 · 319 阅读 · 0 评论 -
Java 多线程(一)
public class Test1Thread extends Thread { private int ticketscount = 100; @Override public void run() { while (true) { sale(); } } //lock priv原创 2017-07-22 17:48:30 · 192 阅读 · 0 评论 -
Java 生产者消费者
public class NewThreadTest { public static void main(String[] args){ Q1 q1 = new Q1(); new Thread(new Producter1(q1)).start(); new Thread(new Consumer1(q1)).start(); }原创 2017-07-24 16:14:02 · 283 阅读 · 0 评论 -
Android 使用CMake 编译NDK
创建cpp文件在android 项目中 创建JNIUtils java类 添加native java 方法 添加的native java方法提示红色,提示上的路径一会儿还要用到创建 c++和 CMakeLists.txt文件 CMakeLists.txt格式# 指定cmake最低版本,如果不知道就复制吧cmake_minimum_required(VERSION 3.4.1)#原创 2017-11-11 19:03:07 · 686 阅读 · 0 评论 -
Java 共变数组和类型擦除
SE5之前还没有泛型,但很多代码迫切需要泛型来解决问题,在真正引入泛型之前,如果数组不能协变,许多以数组为基础的容器类恐怕就无法工作,或者难以使用了。1、数组的共变性,也成为协变性数组的共变性(covariant)是指:如果类Base是类Sub的基类,那么Base[]就是Sub[]的基类。而泛型是不可变的(invariant),List不会是List的基类,更不会是它的子类。数组的共变性可能会导致一转载 2017-06-21 22:59:12 · 3095 阅读 · 2 评论 -
数据结构(一)栈(二)双栈表达式求值算法
接上一节的java 定义的栈 直接上代码public class teStact {public static void test1() { MyStack<String> ops = new MyStack<String>(); MyStack<Double> vals = new MyStack<Double>(); String operationStr = "(1原创 2017-06-19 02:16:54 · 524 阅读 · 0 评论 -
object-c 和 java 可以通用的DES散列加密
Java 加密和解密public class CryPtor { /** * 加密 * @param datasource byte[] * @param password String * @return byte[] */ public static byte[] encrypt(byte[] datasource, String pass原创 2017-05-18 09:05:10 · 852 阅读 · 0 评论 -
Android 多线程
Android之Handler用法总结方法一:(java习惯,在android平台开发时这样是不行的,因为它违背了单线程模型)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread( new Runnable() { public void run() { myView.invalidate()原创 2017-06-03 19:00:05 · 344 阅读 · 0 评论 -
Android Service服务(一)
服务(Service)是Android中实现程序后台运行的解决方案,很适合执行一些不需要用户交互而且还需要长期运行的任务,比如**下载**,**音视频的播放**,**串口通信**等服务不是运行在一个独立的进程中,而是依赖创建服务所在的进程,当应用程序进程被杀掉,所有依赖该进程服务也会停止运行,所以服务本身不会开启线程,所有代码默认主线程中运行。生成MyService类public class My原创 2017-06-05 23:06:32 · 208 阅读 · 0 评论 -
java实现生产者消费者问题
java实现生产者消费者问题 引言 生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,如下图所示,生产者向空间里存放数据,而消费者取用数据,如果不加以协调可能会出现以下情况:生产者消费者图 存储空间已满,而生产者占用着它,消费者等着生产者让出空间从而去除产品,生产者等着消费者消费产品,从而向空间中添加产品。互相等待,从而发生死转载 2017-06-06 20:04:07 · 246 阅读 · 0 评论 -
Iterator、Iterable接口的使用及详解
Iterator、Iterable接口的使用及详解Java集合类库将集合的接口与实现分离。同样的接口,可以有不同的实现。Java集合类的基本接口是Collection接口。而Collection接口必须实现Iterator接口。以下图表示集合框架的接口,java.lang以及java.util两个包里的。其他部分可以从左向右看,比如Collection的Su转载 2017-06-18 23:55:16 · 3161 阅读 · 2 评论 -
Android 数据存储三种方式
1.文件存储 这种方式存的是字符串取出来的也是字符串 private void save(){ FileOutputStream out = null; BufferedWriter writer = null; try { out = openFileOutput("my.txt", Context.MODE_APPEND)原创 2017-06-07 23:34:24 · 609 阅读 · 0 评论 -
数据结构(二)链表(一)单链表
public class NewStack<Item> implements Iterable<Item>{ private int N=0; private Note first; private class Note{ Item item; Note nextNote; } public boolean isEmpty(){原创 2017-06-20 18:32:00 · 167 阅读 · 0 评论 -
数据结构(一)栈(一)
public class MyStack<Item> implements Iterable<Item> {private Item a[] = (Item[])new Object[1]; private int N=0;public boolean isEmpty() { return N==0;}private void resize(int max) { It原创 2017-06-19 01:07:56 · 388 阅读 · 0 评论 -
设计模式
工厂模式和策略模式public class TestDemo { //策略模式实现 public static void testDemo(){// CatchSuper catchSuper = CatchFactory.createCatchAccept(CatchPlicy.CatchRebat);// double accptMoney =...原创 2019-06-10 18:04:27 · 144 阅读 · 0 评论