java学习之路
天花板之恋
在coding的路上
展开
-
Java多线程算法总结
wait()会释放对象锁;notify()是起到唤醒等待对象锁的线程的作用,并不会马上释放锁,但是一旦同步代码块执行完毕后,就会释放对象锁。1.三个线程同时运行,依次打印ABC,一共打印10次。原创 2024-02-28 16:32:46 · 281 阅读 · 0 评论 -
实参与形参的传递关系
当我们在主调函数中调用方法的时候,需要把类型匹配的实际的数据传入到方法中。传进去的那个数据就是实参,而在方法定义中接收参数的那个变量就是形参。下面分三种情况讨论: 1、传递基本数据类型: 这种情况下,实参是把值传递给形参,形参在函数中改变值不会影响实参。 2、传递实体对象: 这种情况中,实参实际是把对象在堆栈中的地址传递给形参。当形参变量调用方法改变值时,其实改变的是指向这个对象的值,因此执原创 2016-04-22 13:04:44 · 9282 阅读 · 0 评论 -
体会建造者模式Builder
建造者模式大多是用在要设置很多属性的时候,这时候只需要.setX( ).setY( ).setZ( ).build( ),属性设置好了,看起来还挺有意思的。下面我们来分析一下universal-image-loader里面的ImageLoaderConfiguration这个例子。 ImageLoaderConfiguration代表了整个图片处理框架的一些全局核心配置,它里面需要设置的属性很多,原创 2016-06-28 16:01:44 · 392 阅读 · 0 评论 -
设计模式之状态模式的理解运用
引语: 我们在编程的时候,有时会遇到一些情况,那就是对象的行为动作会由当时对象所处的状态来决定。例如,我们在微博上看到一篇文章,觉得还不错,于是想评论或者转发,但如果用户没有登录,这个时候就会先自动跳转到登录注册界面,如果已经登录,当然就可以直接评论或者转发了。这里我们可以看到,我们用户的行为是由当前是否登录这个状态来决定的,这就是典型的状态模式情景。为什么要使用状态模式? 在刚刚上述的情境中,原创 2016-12-13 18:40:47 · 3376 阅读 · 0 评论 -
Java信号量Semaphor解析
我们应当知道,信号量代表的是一种有限的访问资源。在多线程的并发操作中,信号量在共享资源的控制中有着很重要的作用。Java中提供的Semaphor类可以对信号量进行操作,调用acquire()方法获取一个许可,如果没有则等待;调用release()方法释放一个许可,如果此时有其他访问者在等待资源许可,那么等待的访问者就会获取到许可。 下面的DEMO中,我们模拟一个场景:一个顾客想去吃汉堡,如果店里面原创 2017-05-08 10:42:16 · 776 阅读 · 0 评论 -
正斜杠(/)与反斜杠(\)总结
正斜杠/表示除法,分隔。在windows系统中通常用来分隔命令行参数,/表示选项等。不能作为文件名。 反斜杠\,在windows系统中用来表示目录。 而在unix系统中,/表示目录。由于web遵循unix命名,所以在网址(URL)中,/表示目录。 C#中反斜杠\与斜杠/ 转移字符 路径的问题 在C#中 \ 是转义字符,如下所示 转义序列 字符 \’ 单引号转载 2017-06-12 13:28:11 · 6256 阅读 · 0 评论 -
C++
1、std : : cout,前缀std ::指出名字cout是定义在名为std的命名空间(namespase)中的。::被称作 作用域运算符 2、std : : cout << “Enter two numbers” << std : : endl; << 是输出运算符,<<运算符接收两个运算对象:左侧对象必须是一个ostream对象,右侧对象是要打印的值,运算结果还是左侧的对象。 3、st原创 2017-11-14 17:08:04 · 379 阅读 · 0 评论 -
Java多线程并发探索
1、什么是线程? 在解答什么是线程之前,我们要清楚什么是进程。进程是程序代码的一次动态执行,是系统进行资源分配和调度的一个独立单位。线程是进程中的一个执行单元,是CUP调度和执行的基本单位。一个进程可以有多个线程,但至少拥有一个线程;一个线程必定需要有一个父进程。线程之间可以共享父进程的共享资源,协同完成任务。一个线程可以创建和撤销另一个线程,进程中的线程可以同时并发执行。2、线...原创 2018-08-21 09:54:58 · 206 阅读 · 0 评论 -
把一串十六进制的MAC地址放进一个字节数组里
比如有一串蓝牙的MAC地址字符串 “00:15:83:7D:6D:FC”,把它们放进字节数组里面是没有问题的。因为每一个数据,刚好能够放在一个字节里面,下面是提取的过程:String mac = "00:15:83:7D:6D:FC";String [] macstrings = mac.split(":");byte[] bts = new byte[6];for(int i = 0;i...原创 2019-05-23 19:25:54 · 1071 阅读 · 0 评论 -
Java dom解析XML
java自带的API提供了解析XML的方案,利用dom树形结构来代表整个XML结构。解析步骤如下: 1、获得解析器的工厂类DocumentBuilderFactory,使应用程序能够从 XML 文档获取生成 DOM 对象树的解析器。DocumentBuilderFactory df=DocumentBuilderFactory.newInstance();2、获得解析器DocumentBuilde原创 2016-02-02 15:14:40 · 403 阅读 · 0 评论 -
Java中的回调函数问题
最近在工作中经常会遇到“回调函数”这样一个词,刚开始的时候确实也不是很明白什么是回调函数,感觉挺高深的,后来经过一系列的资料查找和仔细体会,发现回调函数也就那么一回事儿,下面就来说说吧。所谓回调,和普通的方法调用不同的是,A类在调用B类的时候,B类同样拥有调用A类的权利,实现的关键就是:1、定义一个回调接口,CallBackInterface,同时在里面声明回调函数f();2、定义一个类A,原创 2015-10-15 09:40:46 · 884 阅读 · 0 评论 -
java面试中注意的问题02
Java面试原创 2015-07-24 15:22:35 · 378 阅读 · 0 评论 -
关于this的用法
在编程实践中,很多时候都会用到this这个关键词,那么this这个关键词该怎么用呢?它代表什么意思呢?其实this代表的是一个对象,这个对象调用含有this的函数。这个函数可以是一般函数,也可以是构造函数。例如:在给函数传递参数的时候,有时候会出现这种情况:(1)class Person{ private String name; Person(String n原创 2014-11-27 13:23:40 · 667 阅读 · 0 评论 -
关于接口的基本应用实例讲解
interface USB //在这里定义了USB这个接口,也就是定义了一个标准。通常在程序中,暴露出接口,就可以扩展出 //符合此接口的其他一些功能{ public void open(); public void close();}cla原创 2014-11-30 16:22:13 · 682 阅读 · 0 评论 -
浅谈单例设计模式
所谓设计模式,就是针对某一类问题的比较经典的解决办法。单例设计模式是指一个类在内存中只能有一个对象实例,而不能随意用new来创建这个类的对象。比如像配置文件这样的类,一般只允许有一个对象存在,在不同地方对它的修改操作的是同一个实例。那如何保证对象的唯一性呢?这就要做到以下几点:1、不允许其他程序用new来创建该类的对象,这就要求改类的构造函数为私有的。2、在该类的内部创建一个本类的实例原创 2014-11-29 15:18:09 · 522 阅读 · 0 评论 -
java中静态变量与静态方法的继承问题
首先,定义一个类A如下class A { static int a = 1; static int b = 2; public static void printA() { System.out.println(a); } public static void printB(转载 2014-11-29 20:04:27 · 937 阅读 · 0 评论 -
线程创建的两种方法
在一个线程中创建一个新线程可以有两种方法,一种是继承Thread类,一种是实现Runnable接口。具体实现如下:第一种方法: 创建一个新类,并且继承自Thread类,在这个新类中重写run方法,用以覆盖Thread类中原有的run方法。run方法中所写入的执行语句就是这个类所创建的新的线程所要执行的任务。 class DemoThread extends Thread原创 2014-12-07 20:46:58 · 504 阅读 · 0 评论 -
浅谈线程安全问题
线程安全问题产生的原因:1、多个线程在操作共享数据;2、操作共享数据的线程代码有多条(意思是代码块中的语句不止一条,容易在一个线程执行了一部分后停止,而其他线程继续执行还没来得及更新的数据);解决方法一:使用同步代码块下面是一个售票的代码class Ticket implements Runnable{ private int num=100;//总票数 p原创 2014-12-09 21:54:48 · 529 阅读 · 0 评论 -
经典生产者消费者问题
在多线程技术中,有一个经典的案例,就是生产者和消费者的问题。在这个问题中,有生产者、产品、装产品的容器、消费者,他们之间有着严格的流水线控制,多个生产者可以同时生产,多个消费者也可以同时消费,而且是在生产的同时也在消费。这就涉及到线程间同步互斥的问题。下面是源代码:原创 2014-12-16 14:02:22 · 664 阅读 · 0 评论 -
java面试中注意的问题01
java面试中容易出错的一些地方原创 2015-06-22 09:48:03 · 332 阅读 · 0 评论 -
关于windows下JAVA环境变量的配置
为什么要环境变量配置?安装好jdk后原创 2014-11-25 12:59:47 · 474 阅读 · 0 评论