编程语言
Kaiattrib
我不是一个程序员
展开
-
JAVA DatagramSocket UDP传输
java DatagramSocket UDP public static void main(String[] args) throws IOException{原创 2017-03-27 21:31:32 · 301 阅读 · 0 评论 -
Java 引用类型
Java 引用类型分这些引用类型,使程序更加灵活的控制对象的生命周期,也方便了JVM进行垃圾回收。1.强引用Object obj=new Object();最常用的引用类型。平时new 一个对象的时候就是强引用。垃圾回收器不会回收强引用对象,即使内存空间不足,JVM会抛出异常。2.软引用Object obj=new Object();SoftReference<Object> sf=new Sof原创 2017-03-31 09:41:41 · 587 阅读 · 0 评论 -
JAVA二进制的读写
二进制的文件的读写比文本文件更快,引入缓冲流,效率会更高。先确定节点流,再构造缓冲区,主要是最后用DataInputSream或DataOutputStream装配达到目的。测试代码import java.io.*;public class BinaryWR { public static void main(String[] args) throws IOException{原创 2017-03-15 21:25:39 · 1211 阅读 · 0 评论 -
JAVA静态代理模式
JAVA静态代理模式 代理模式可以对 对象 的操作 附加一些操作。所有操作由代理进行。抽象角色声明真实对象和代理对象的共同接口代理角色代理对象角色内部含有真实对象的引用,可以直接操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时候都能够代理真实对象。同时,代理对象可以在执行真实对象操作的同时附加其它操作,相当于对真实对象进行封装。真实角色代理角色所要代表的对象,最终要引用的对象。测试代原创 2017-04-01 22:18:01 · 326 阅读 · 0 评论 -
JAVA 多线程 this.getName()与Thread.currentThread().getName()
this.getName()与Thread.currentThread().getName()的区别首先一个类要实现多线程可以继承Thread。这里讲一下Thread中的getName()方法有差异。1.先看代码class Student extends Thread{ String name; Student(String name){this.name=name;} pu原创 2017-03-06 05:12:55 · 4283 阅读 · 2 评论 -
JAVA 生产者和消费者模型
JAVA 生产者和消费者模型定义车站售票,加入一张车票,才能卖出一张车票。涉及到加锁同步的操作。这里新建一个类继承Thread,有两个加锁的方法。通过新建2个新类分别取调用这个方法。获得一个带锁的方法,该类的其它带锁的方法同时也会被锁住。1.管理票的类class Tickets extends Thread{ int Num; boolean enable=ture;//加入enab原创 2017-04-20 10:46:11 · 269 阅读 · 0 评论 -
JAVA 动态代理
JAVA 动态代理采用静态代理的话,每一个方法指定要代理的方法都需要自己再写一遍,当方法过多的时候就很不方便,于是采用动态代理,动态代理,不具体指定某一个需要代理的方法,利用了JAVA反射机制,只管调用方法,会自动代理。1.抽象角色接口,列出需要被代理的方法interface Subject{ void request(); void Show(String name);}2.原创 2017-04-20 11:31:38 · 232 阅读 · 0 评论 -
区分线程中的 interrupt() interrupted() isInterrupted()
区分线程中的 interrupt() interrupted() isInterrupted()0.public boolen isInterrupted()返回线程有没有中断标记,有就ture,没有就false。1. public void interrupt()修改线程中断标记为ture。但线程并不会立即中断,只是设置了一个标记。如果线程在睡眠中遇到中断请求,会抛出中断错误,怎么处理中 断错原创 2017-05-09 15:16:53 · 278 阅读 · 0 评论 -
基于Ubuntu16.04 的globalmem驱动测试
基于Ubuntu16.04 的globalmem驱动测试网上大多数都是基于2.6的内核,自己懒得替换内核,基于最新内核需要做一些修改。代码参考基本来自网上,自己做一个综合。一.首先检查当前内核版本二,安装驱动1.实验代码#include <linux/module.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/原创 2017-12-14 14:34:17 · 868 阅读 · 1 评论