- 博客(43)
- 资源 (11)
- 收藏
- 关注
原创 HttpClient的Post和Get各种方法的工具类
package com.taotao.common.utils;import java.io.IOException;import java.net.URI;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.apache.http.NameValuePair;impor
2015-12-30 17:22:27 3864
原创 HttpClient的Post和Get方法
1.不带参数的get请求/** * 不带参数的Get请求 */ public static void doGetWithoutParameter() throws Exception{ //创建一个HttpClient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); //创建一个GET对
2015-12-30 17:15:53 1491
原创 HttpClient和WebService的区别和介绍
1. HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。 HttpClient用来调用服务,它是模拟一个浏览器,发送Http的请求,服务器会返回请求的一个响应结果, Httpclient然后把响应的结果取出来。HttpClinet相当于一个客户端, 使用H
2015-12-30 14:21:06 18184 2
原创 Springmvc构造RESTful详细讲解
Rest介绍 /blog/1 HTTP GET => 得到id = 1的blog/blog/1 HTTP DELETE => 删除 id = 1的blog/blog/1 HTTP PUT => 更新id = 1的blog/blog HTTP POST => 新增BLOG 以下详细解一下spring rest使用. 首先,
2015-12-30 13:28:45 1709 1
原创 (java集合原理)--01 HashMap的实现原理
HashMap本质数据加链表。根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面。HashMap是线程不安全的里面的方法都是没有加synchronizated非线程安全方法1.HashMap的数据结构 HashMap的底层是用数组+单链表实现的源码: /** * An em
2015-12-29 18:40:07 837
原创 (多线程与并发)面试题03--java中读写锁ReadWriteLock
1.排他锁(互斥锁)的概念:synchronized,ReentrantLock这些锁都是排他锁,这些锁同一时刻只允许一个线程进行访问。2.读写锁的概念:分为读锁和写锁,多个读锁不互斥,读锁和写锁互斥,写锁与写锁互斥。3.读写锁的好处: 原来使用的互斥锁只能同时间有一个线程在运行,现在的读写锁同一时刻可以多个读锁同时运行,这样的效率比原来的排他锁(互斥锁)效率高
2015-12-27 15:43:13 2750
原创 07.(java基础)面试题04 ==,equals区别
1. == java中的==是比较两个对象在JVM中的地址。比较好理解。看下面的代码:1 public class ComAddr{2 public static void main(String[] args) throws Exception {3 String s1 = "nihao";4 String s2 = "nih
2015-12-24 14:55:51 616
原创 06.(java基础)面试题--03 abstract的用法,以及abstract和interface的异同
一.abstract(抽象)修饰符,可以修饰类和方法: 1.abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。 2.abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现。需要子类继承实现(覆盖)。 注意:有抽象方法的类一定是抽象类,抽象方法一定要放
2015-12-24 10:45:26 1056
原创 java数据结构--二叉树,递归遍历,非递归遍历,层次遍历
1.为什么要引入树 线性结构的特点是插入和删除速度慢,查找速度快。 链式结构的特点是查找速度慢,插入和删除速度快。 树型结构综合了线性结构和链式结构优点,查找,删除,插入速度都快
2015-12-23 23:09:04 1753 1
原创 05.(java基础)-02final,finally,finalize的区别
1.final 是修饰符,可以用于修饰变量、方法和类。修饰变量时,代表变量不可以修改,也就是常量了,常量需要在定义时赋值或通过构造函数赋值,两者只能选其一;修饰方法时,代表方法只能调用,不能被 override ;修饰类时,代表类不能够派生出子类,所以一个类不能既是 final 又是 abstract;(注意:final指的是引用不可变性,即它只能指向的初始化时的指向的哪个对象,而不关心指
2015-12-22 20:09:23 557
原创 04.(Java基础)-01Static关键字的有哪些作用
Static 关键字主要有两个作用: 1.为特定的数据类型或对象分配单一的存储空间,而不用去考虑创建了多少个实例对象,用static修饰的在内存中只有一份它与创建的实例的对象多少没有关系。 2.在不创建类的实例对象的情况下就可以通过类来直接调用方法或使用类中的属性。注意: 由于static方法使用前不需要创建任何对象;所以对于static方法不
2015-12-22 19:40:46 649
原创 03.(多线程与并发)面试题-02--Volidate的原理和指令重排序
线程栈(线程的工作内存)保存了线程运行时候变量值信息。当线程访问某一个对象时候值的时候,首先通过对象的引用找到对应在堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量的值, 在修改完之后的某一个时刻(线程退出之前),自动把线程变量本的值回写到对象在堆中变量。这样在堆中的对象的值就产生变化
2015-12-22 09:23:44 3419
原创 (多线程与并发)面试题01--synchroinzed和volidate的区别
Java 语 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。Synchronized是对Volidate的基础上增加了互斥的功能。1.Volidate:只保证可见性,可以多个线程同时访问voliadte修饰的变量。2.Synchroinzed:既保证了可见性又保证了互斥性。同时只能有一个线程去访问。言中的 vo
2015-12-21 22:01:18 5181
原创 02.进度条progressBar的使用
/** * 在创建页面组件的时候有两种方式, * 1:通过页面标签的方式创建... * * * 2:通过页面的标签+js创建... * * */ //$().ready(function() 表示页面加载时就执行 $().ready(function(){ load(); }) var i = 0; fu
2015-12-18 17:27:02 490
原创 01.EasyUI加入项目
1.导入easyUi的js文件到项目中2.在页面中引入 base_1.html 3.引入easyUI中的可拖动 4.要查看easyUI的API
2015-12-18 16:45:18 1942
原创 java 中回调函数的理解
所谓回调,就是客户程序C调用服务程序S中的某个函数methodA(),然后S又在某个时候反过来调用C中的某个函数methodB(),对于C来说,这个methodB()便叫做回调函数。一般说来,C不会自己调用methodB(),C提供methodB()的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定methodB()的接口规范(函数原型),然后由C提前通过S
2015-12-18 10:50:31 471
原创 Java的类锁和对象锁
类锁和对象锁不是同1个东西,一个是类的Class(对应的唯一的一个即这类的二进制字节码)对象的锁,1个是类的实例(!即new出的一个类的对象,一个类会有多个实例对象)的锁。也就是说:1个线程访问静态synchronized的时候,允许另一个线程访问对象的实例synchronized方法。反过来也是成立的,因为他们需要的锁是不同的。对象锁:java的所有对象(即new出的一个类的对象,一
2015-12-18 09:16:04 2739
原创 java链式队列
下面来讨论队列的链式存储,即链队列。链队列的定义:队列的链式存储结构简称为链队列。它是限制仅在表头删除和表尾插入的单链表。链队列的数据存储形式: 链队列基本运算的实现:/** * */package unit5Queue.linked;/** * 链式队列 * Title: LinkedQueue
2015-12-17 22:01:36 681
原创 FTP下载和上传文件的java实现
public class FTPTest { @Test public void testFtpClient() throws Exception { //创建一个FtpClient对象 FTPClient ftpClient = new FTPClient(); //创建ftp连接。默认是21端口 ftpClient.connect("192.168.25.133", 21
2015-12-16 16:56:24 710
原创 Linux安装FTP
1.第一步:安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。2.第二步:添加一个FTP用户此用户就是用来登录ftp服务器用的。这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为 /home/ftpuser.3.第三步: 给ftp用户添加密码。
2015-12-16 14:47:34 431
原创 Redis的SortSet(有序集合)
1、 sortedSet存储内容示意图: sortedSet会按照字段进行排序 2、 往redis库中插入一条sortedset数据redis 127.0.0.1:6379> zadd nanshen:yanzhi:bang 70 liudehua 90 huangbo 100 weixiaobao 250 yanggang 59 xiaotao
2015-12-15 17:03:08 2875
原创 Redis的可视化工具的使用
Redis Desktop Manager 是一个快速、简单、支持跨平台的 Redis 桌面管理工具下面在控制台里面用redis命令添加一个key:[plain] view plaincopyset teachername jon123123 重新加载看下
2015-12-15 16:35:50 8220
原创 Redis的hash数据类型及其应用场景解析---购物车
1.Hash数据结构Redis中的Hashes类型可以看成具有String Key和String Value的map容器2.Hash存储购物车数据的操作3.java代码实现import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import
2015-12-14 14:10:59 7848
原创 Java 多线程(四)强制运行Join
在线程操作中,可以使用join()方法让一个线程强制运行,线程强制运行期间,只有该线程拥有CPU的执行权,其他线程无法运行,必须等待此线程完成之后才可以继续执行。运行的主方法运行结果
2015-12-13 20:06:18 1697
原创 Java 多线程(四)线程间的通信jdk1.5中Lock,Condition----各种锁的相关详细概念
一.java.util.concurrent.locks包下常用的类 下面我们就来探讨一下java.util.concurrent.locks包中常用的类和接口。 1.Lock 首先要说明的就是Lock,通过查看Lock的源码可知,Lock是一个接口:12345678
2015-12-13 17:33:52 1911 1
原创 Java 多线程(三)线程间的通信jdk1.5中Lock,Condition---生产者消费者为例
1.使用Lock和Condition的意义 JDK1.5中提供了多线程升级的解决方案。 1.将同步synchronized替换成现实Lock操作。 2.将Object中的wait,notify,notifyAll,替换为了Condition对象 3.该Condition对象可以对Lock锁进行获取。 4.使用Condition对象,能够实现本方只唤
2015-12-13 16:37:02 828
原创 Java 多线程(二)线程间的通信应用--生产者消费者(未完)
对于多个生产者和消费者。为什么要定义while判断标记。原因:让被唤醒的线程再一次判断标记。为什么定义notifyAll,因为需要唤醒对方线程。因为只用notify,容易出现只唤醒本方线程的情况。导致程序中的所有线程都等待。启动主类/** * */package threadCommnication;/** * Title: InputOu
2015-12-13 12:46:33 545
原创 Java 多线程(一)线程间的通信
1.线程间通讯的理解线程间通讯: 其实就是多个线程在操作同一个资源,但是操作的动作不同2.线程间通信的示例代码 描述:存在两个线程,一个线程负责写入信息,另一个线程负责打印信息。 model类Student 属性name sex (私有类) 线程:Input类,Output类。 启动两个线程分别执行打印和写入操作。
2015-12-12 21:49:19 693
原创 java多线程相关的面试题汇总
1.Java 中多线程同步是什么? 2.解释实现多线程的几种方法? 3.Thread.start ()与 Thread.run ()有什么区别? 4.为什么需要 run ()和 start ()方法,我们可以只用 run ()方法来完成任务吗? 5.什么是 ThreadLocal 类,怎么使用它? 6.什么时候抛出 InvalidMonitorStateException 异常
2015-12-12 16:27:31 714
原创 java数据结构--队列
队列的定义:队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。(1)允许删除的一端称为队头(Front)。(2)允许插入的一端称为队尾(Rear)。(3)当队列中没有元素时称为空队列。(4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。 队列的修改是依先进先出的原则进行的。新来的成
2015-12-12 11:51:16 516
原创 java数据结构--栈
1.栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。 (1)通常称插入、删除的这一端为栈顶 (Top),另一端称为栈底 (Bottom)。 (2)当表中没有元素时称为空栈。 (3)栈为后进先出(Last In First Out)的线性表,简称为 LIFO 表。
2015-12-11 22:34:35 680
原创 第1条:考虑用静态工厂方法代替构造器(第一章:创建和销毁对象)
1.什么是静态工厂方法参考:http://blog.csdn.net/weiwenlongll/article/details/6918164
2015-12-11 20:21:05 499
原创 利用Redis 实现消息队列
1.用redis中的List可以实现队列,这样可以用来做消息处理和任务调度的队列2.代码模拟代码结构生产者模拟程序/** * */package scheduleTest;import java.util.Random;import java.util.UUID;import redis.clients.jedis.
2015-12-11 19:27:18 67305 4
原创 Redis中的String类型操作
String类型是reids中最基本的数据类型import java.util.List;import org.junit.After;import org.junit.Before;import org.junit.Test;import redis.clients.jedis.Jedis;/** * *//** * jedis String 类型
2015-12-11 10:58:29 641
原创 redis 客户端连接
客户端连接1、 用redis自带的命令行客户端[root@notrue-centos redis]# bin/redis-cli -h localhost -p 6379redis notrue-centos:6379> pingPONGredis notrue-centos:6379>注:当输入一个ping时,redis返回po
2015-12-11 10:18:27 5941
原创 java中的原子类
原子是世界上的最小单位,具有不可分割性。比如 a=0;(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作时原子操作。再比如:a++; 这个操作实际是a = a + 1;是可分割的,所以他不是一个原子操作。非原子操作都会存在线程安全问题,需要我们使用同步技术(sychronized)来让它变成一个原子操作。一个操作是原子操作,那么我们称它具有原子性。 java的co
2015-12-10 22:38:25 7180
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人