YEN_CSDN的博客

如果真的相信什么,就要用尽全力去让它发生。

排序:
默认
按更新时间
按访问量

Java中使用JSONArray时实现嵌套

前言 处理步骤 结果前言最近开发的Java Web系统中涉及到为移动端写接口,需要返回JSON数据,而移动端用的是API Cloud开发的,调用它上面的电话插件时要按照他执行的格式。首先看一下他要求的格式:[ { "...

2017-05-06 17:25:43

阅读数:500

评论数:0

LinkedList的实现

package main.java.LinkedListdemo;import java.util.ConcurrentModificationException; import java.util.Iterator; import java.util.NoSuchElementException...

2016-11-07 13:21:08

阅读数:493

评论数:0

ArrayList的实现

ArrayList泛型类的实现。 内部类实现方式源码:package main.java.arraydemo;import java.util.Iterator;/** * DateTime: 2016/11/4 09:42 * 功能:实现ArrayList泛型类的实现: * ...

2016-11-04 10:38:59

阅读数:576

评论数:0

信息摘要算法——MessageDigest类

MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。 MessageDigest 对象开始被初始化。该对象通过使用 update 方法处理数据。任何时候都可以调用 reset 方法...

2016-09-17 17:38:06

阅读数:1000

评论数:0

初识Java TCP/IP Socket-UDP网络编程知识

Java 通过 DatagramPacket 类和 DatagramSocket 类来使用 UDP 套接字,客户端和服务器端都通过DatagramSocket 的 send()方法和 receive()方法来发送和接收数据,用 DatagramPacket 来包装需要发送或者接收到的数据。发送信息...

2016-07-26 00:43:28

阅读数:349

评论数:0

初识Java TCP/IP Socket-TCP网络编程知识

Java为TCP提供了两个类:Socke 类和 ServerSocket 类。 一个 Socket 实例代表了 TCP 连接的一个客户端,而一个 ServerSocket 实例代表了 TCP 连接的一个服务器端,一般在 TCP Socket 编程中,客户端有多个,而服务器端只有一个,客户端 T...

2016-07-26 00:24:26

阅读数:362

评论数:0

Java 中网络相关 API:InetAddress、URL 的应用

Java 中网络相关 API 的应用(1)Java 中的 InetAddress 的应用 (此类表示互联网协议(IP) 地址),使用方法如下:public class InetAddressDemo { public static void main(String[] args) thro...

2016-07-25 23:54:45

阅读数:445

评论数:0

Java注解

Java注解是插入代码中的一种注释或者说一种元数据(mete data)。这些注解信息可以在编译期使用编译期使用预编译工具进行处理,也可以运用Java的反射机制在运行时处理。注解为我们在代码中添加信息提供了一种形式化的方法。Java中的注解主要是: 元注解 自定义注解 元注解 Java提供了四个...

2016-06-23 21:40:32

阅读数:1670

评论数:0

Java NIO和IO的区别

IO的主要内容 File InputStream OutputStream Reader Writer RandomAccessFile NIO有以下核心的数据抽象类型。 Buffer Channels Selector IO是面向流(Stream)的,NIO是面向缓冲(Buffer)的。 面向...

2016-06-19 19:52:45

阅读数:551

评论数:0

Java反射机制

Java反射机制可以让我们在运行期检查类、接口、变量、以及方法的信息。反射机制还可以让我们在运行期实例化对象,调用方法,通过调用get/set方法设置变量的值。 那么,通过Java的反射机制我们能获取到哪些信息呢?主要就是一下几大类: 类 构造器 变量(包括私有的) 方法(包括私有的) 访问器(...

2016-06-18 21:02:55

阅读数:525

评论数:0

线程安全的集合类、CopyOnWrite机制介绍

关于集合框架的其他部分可以查看另一篇文章:JAVA集合框架学习总结,这里仅就集合框架中的线程问题做讨论,有错误之处欢迎指正。LinkedList、ArrayList、HashSet是非线程安全的,Vector是线程安全的; HashMap是非线程安全的,HashTable是线程安全的;Java...

2016-06-18 14:22:22

阅读数:935

评论数:0

Java关键字volatile修饰变量

volatile关键字的作用是告诉编译器,凡是被该关键字申明的变量都是易变的、不稳定的,所以不要试图对该变量使用缓存等优化机制,而应当每次都从他的内存地址中去读取值,但volatile并不是每次更改完就要立刻将他写回内存,volatile只提供了内存的可见性,并不提供原子性(与锁机制的区别:锁机制...

2016-06-18 08:55:22

阅读数:928

评论数:0

Java多线程synchronized、ReentrantLock、ReentrantReadWriteLock 和StampedLock 的对比

synchronized是在JVM层面上实现的,可以通过一些监控工具控制synchronized的锁定,当代码出现异常时,JVM会自动释放锁定。当只有少量竞争者的时候,synchronized是一个很好的通用的锁实现。synchronized的锁是针对一个对象的。 ReentrantLock、Re...

2016-06-17 22:24:39

阅读数:1305

评论数:0

Java多线程线程安全实现方式

线程安全就是要保证数据的高度一致性和准确性,但不是一定要加锁才是线程安全性,只要代码里没有变量互串,线程之间互不影响,就是线程安全的。 要了解线程安全,可以先看一下线程不安全是怎样的一种现象。public class TreadNoSafeDemo { public static voi...

2016-06-17 19:38:30

阅读数:10789

评论数:3

Java内存模型与多线程数据可见性和操作的有序性

CPU在计算的时候,并不总是从内存读取数据,而是按:寄存器->高速缓存->内存的顺序读取,一些使用频繁的数据会被放在寄存器和高速缓存中,当线程计算完后,这些缓存的数据在适当的时候被写回内存,当多个线程同时读取某个内存的数据时,会涉及到数据的可见性和操作的有序性问题。 Java是平台无...

2016-06-17 18:34:23

阅读数:988

评论数:0

Java多线程-当前线程副本:ThreadLocal

ThreadLocal是一个关于创建线程局部变量的类。 一般情况我们创建的变量是可以被任何一个线程访问并修改的,而使用ThreadLocal创建的变量只能被当前线程访问,其他线程无法访问和修改。 ThreadLocal<T> 接口的方法也很简单,只有四个方法: public cl...

2016-06-16 20:27:53

阅读数:748

评论数:0

Java守护线程(后台线程)

Java守护线程(后台线程) java的垃圾回收线程就是一个守护线程。 当线程结束的时候守护现场也就自然会结束了,守护线程和普通线程的写法是一样的,只是在start()之前要先使用public final void setDaemon(boolean vale)设置为true。可以使用thre...

2016-06-16 16:23:48

阅读数:1650

评论数:0

线程的生命周期与常用方法

线程的生命周期一共五个状态:新建、就绪、运行、堵塞、死亡 (1)新建 new Thread Thread thread=new Thread(); 当创建一个Thread对象时,这个线程就进入了新建状态,有了自己的内存空间,但还没有启动,此时线程还不是活的。 (2)就绪 runable ...

2016-06-15 14:24:28

阅读数:692

评论数:0

关于线程的中断机制

Java中没有提供任何的机制来安全的终止线程,那我们应该怎么让线程停止或者中断呢? java停止或中断线程有下列方式: 1.调用Thread.stop() 2.利用Thread.interrupt()方法和机制调用Thread.stop() 使用这种方法强迫停止一个线程,并抛出一个新创建的...

2016-06-15 13:08:14

阅读数:2954

评论数:0

多线程执行时为什么调用的是start()方法而不是run()方法

Thead类中start()方法和run()方法的区别 start()用来启动一个线程,当调用start()方法时,系统才会开启一个线程,通过Thead类中start()方法来启动的线程处于就绪状态(可运行状态),此时并没有运行,一旦得到CPU时间片,就自动开始执行run()方法。此时...

2016-06-15 11:34:25

阅读数:8268

评论数:4

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