语言、程序
文章平均质量分 88
Gjson
it's me
展开
-
枚举类型的使用方法
1. 枚举的定义枚举类型定义的一般形式为: enum 枚举名{ 枚举值表 }; 在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。 例如: 该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。 2. 枚举变量的说明 如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,原创 2015-01-14 19:58:58 · 548 阅读 · 0 评论 -
C、c++ .h 头文件的作用
C语言头文件的作用C语言头文件的作用 最近在工作当中遇到了一点小问题,关于C语言头文件的应用问题,主要还是关于全局变量的定义和声明问题.学习C语言已经有好几年了,工作使用也近半年了,但是对于这部分的东西的确还没有深入的思考过.概念上还是比较模糊的,只是之前的使用大多比较简单,并没有牵涉到太复杂的工程,所以定义和声明还是比较简单而明了了的.但是最近的大工程让我原创 2015-12-03 12:53:00 · 1236 阅读 · 1 评论 -
HashMap实现原理
首先我们先来回顾一下计算机数据结构里面的哈希表: 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位 置来 访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 给定表M,存在函数f(key)原创 2015-12-16 11:47:19 · 646 阅读 · 0 评论 -
Lock synchronized 详细讲解
Synchronzied:我们先来看下synchronized这个关键字,Java中这个类似于锁的东东,Synchronzied关键字的作用一个词概括就是:线程同步。它可以用来修改对象中的方法,将对象加锁。相当于不管哪一个线程A每次运行到这个方法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D)运行完这个方原创 2015-09-23 20:22:57 · 1093 阅读 · 0 评论 -
并发 加锁 以及Java api自身的阻塞队列
Java里的阻塞队列阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。API 位于 ja原创 2015-09-21 16:50:15 · 3011 阅读 · 1 评论 -
ByteBuffer Android
ByteBuffer是NIO里用得最多的Buffer,它包含两个实现方式:HeapByteBuffer是基于Java堆的实现,而DirectByteBuffer则使用了unsafe的API进行了堆外的实现。这里只说HeapByteBuffer。在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据原创 2015-09-16 16:01:16 · 4733 阅读 · 0 评论 -
理解ThreadLocal
What is the ThreadLocal早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是T原创 2015-01-09 16:23:53 · 552 阅读 · 0 评论 -
java map entry
遍历Map key-value比较习惯的方式是先获取Map中的所有key值,然后根据key,依次从Map中去数据,基本方式如下:Map testData = new HashMap();………………………………………………一些赋值操作………………………………...Set keys = testData.keySet();for(String key :keys){原创 2015-02-03 17:50:24 · 549 阅读 · 0 评论 -
JAVA 依赖注入 android
1. 依赖如果在 Class A 中,有 Class B 的实例,则称 Class A 对 Class B 有一个依赖。例如下面类 Human 中用到一个 Father 对象,我们就说类 Human 对类 Father 有一个依赖。public class Human { ... Father father; ... public Human() {原创 2015-05-20 10:32:50 · 988 阅读 · 0 评论 -
JAVA经典算法20题
【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i原创 2014-04-29 15:22:02 · 705 阅读 · 0 评论 -
续:20题 java
【程序21】 题目:求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。 public class Ex21 { static long sum = 0; static long fac = 0; public static void main(String[] args) { long sum = 0; long原创 2014-04-29 15:24:19 · 567 阅读 · 0 评论 -
解读 Java 三大框架 独家播出
Java三大框架的技术起源:Struts、Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的JSP、负责流原创 2014-04-29 15:32:11 · 1186 阅读 · 0 评论 -
android反编译-smali语法
前言前面我们有说过android反编译的工具,如何进行反编译。反编译后可以得到jar或者得到smali文件。Android采用的是java语言进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class,而是使用的smali。我们反编译得到的代码,jar的话可能很多地方无法正确的解释出来,如果我们反编译的是smali则可以正确的理解程序的意思。因此原创 2016-11-09 19:23:56 · 1022 阅读 · 0 评论