自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (2)
  • 收藏
  • 关注

转载 Servlet——HttpServletRequest

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。request的常用用法1.测试标题是否可以1. 获取客户机信息及请求头          getRequestURL方法返回客户端发出请求时的完整URL。  getReq

2016-08-31 20:08:29 324

原创 SQL Server的学习记录(未完)

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;using System.Threading;namespace sqltest{ class Program { static v

2016-08-31 19:42:09 290 1

原创 Servlet——ServletContext

让我们复习并细化一下Servlet容器处理请求的过程。1)用户点击一个链接,指向了一个servlet而不是一个静态页面。2)容器“看出”这个请求是一个Servlet,所以它创建了两个对象HttpServletRequest和HttpServletResponse。3)容器根据请求中的URL找到正确的Servlet,为这个请求创建或分配一个线程,并把请求和响应对象传递给这个Servlet

2016-08-31 16:43:21 296

原创 Servlet概述

1.Servlet简介  Servlet是sun公司提供的一门用于开发动态web资源的技术。  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:  1、编写一个Java类,实现servlet接口。  2、把开发好的Java类部署到web服务器中。  按照一种约定俗成的称呼习惯

2016-08-31 14:53:46 429

转载 Http协议

1.概述:       HTTP表示超文本传输协议(Hypertext Transfer Protocol),是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。HTTP是迄今为止使用最多的互联网协议,目前版本为1.1。HTTP运行在应用层(ISO/OSI七层参考模型包括应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。),是一个基于请求/响应模

2016-08-31 11:29:56 298

转载 web.xml中load-on-startup的作用

如下一段配置,熟悉DWR的再熟悉不过了: dwr-invoker org.directwebremoting.servlet.DwrServlet debug true 1 dwr-invoker /dwr/*我们注意到它里面包含了这段配置:1,那么这个配置有什么作用呢?贴一段英文原汁原味的解释如下:Servl

2016-08-31 10:15:40 289

原创 设计模式(九)——适配器模式

将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起的两个类能够在一起工作。适配器模式是把一个接口或类转换成其他的接口或者类,从另一方面讲,适配器模式也是一种包装模式,类图如下:类图 三个角色:Target目标角色:该角色定义把其他类转换成何种接口,也就是期望接口;Adaptee源角色:想要转换的对象,是已经存在运行良好的类;Ad

2016-08-30 20:44:55 300

原创 Java并发必须知道的零碎知识(二)

1.  Wait/notify与Condition.await /condition.signal /Condition.signalAll一个Condition和一个Lock关联在一起,就想一个条件队列和一个内置锁相关联一样。要创建一个Condition,可以在相关联的Lock上调用Lock.newCondition方法。正如Lock比内置加锁提供了更为丰富的功能,Condition同样比内

2016-08-29 22:04:25 589

原创 Java并发必须知道的零碎知识(一)

1.  线程和进程进程让操作系统的并发性成为可能,而线程让进程的内部并发成为可能。但是要注意,一个进程虽然包括多个线程,但是这些线程是共同享有进程占有的资源和地址空间的。进程是操作系统进行资源分配的基本单位,而线程是操作系统进行调度的基本单位。 2.  实现线程在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如

2016-08-29 22:01:44 694

原创 Java并发你必须知道的结构

1.  ConcurrentHashMap    ConcurrentHashMap是线程安全的HashMap,内部采用分段锁来实现,默认初始容量为16,装载因子为0.75f,分段16,每个段的HashEntry[]大小为2。键值都不能为null。每次扩容为原来容量的2倍,ConcurrentHashMap不会对整个容器进行扩容,而只对某个segment进行扩容。初始化:      初

2016-08-29 21:56:31 794

原创 设计模式(八)——策略模式

也称作政策模式(Policy Pattern)Define a family of algrithuns, encapusulate each one ,and make them interchagenable定义一组算法,将每个算法都封装起来,并且使他们之间可以互换类图Context封装角色:          也叫作上下文,起承上启下封装做用,屏蔽高层

2016-08-29 20:18:45 465

原创 java并发你必须会的编程

1.  Fork/Join框架Fork/Join框架是JDK7提供的一个用于并行执行任务的框架,是一个把大任务切分为若干子任务并行的执行,最终汇总每个小任务后得到大任务结果的框架。我们再通过Fork和Join来理解下Fork/Join框架。Fork就是把一个大任务划分成为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结果。 使用Fork/Joi

2016-08-28 16:36:13 760

原创 Java容器类必须掌握知识合集

1.  ArrayList底层实现:数组容量:默认初始为10,可自己设定扩容:1.5倍旧容量与新添加的元素个数相比,选大的添加元素:判断容量,添加至尾部添加元素到中间位置i:判断元素位置合法,判断容量,即把原数组从i个元素位置数据后移一位移除i位置元素:把i后的元素移动到i 2.  ArrayList和LinkedList1.ArrayList是实现了基于动态数

2016-08-28 15:27:54 1003

原创 常见易错笔试题 —— java

1. 不可变Stringpublic class String相关 { static String getA(){return "a";} public static void main(String[] args) { String a = "a"; String c = "ab"; final String f = "a"; String b = a+"b"

2016-08-28 10:30:06 880

转载 算法题:比大小<思路重要>

题目描述现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?输入第一行有一个整数n(0<n<=10000);随后有n行,每行是一个排列;样例输入3abcdefghijklhgebkflacdjigfkedhjblcia

2016-08-27 22:32:03 1528

原创 设计模式(七)——装饰模式

定义Attach additional responsibilities to an object dynamically keeping the same interface. Decorators provide a flexible alternative to subclassing for extending functionality动态地给一个对象添加一些额外的职责,就增

2016-08-27 20:49:58 435

原创 设计模式(六)——责任链模式

使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。类图类图比较简单 模板 抽象处理者package ResponseChain;public abstract class Handler { private Handler nextHand

2016-08-25 22:13:52 481

转载 ThreadLocal解决SimpleDateFormat问题

大致意思:Tim Cull碰到一个SimpleDateFormat带来的严重的性能问题,该问题主要有SimpleDateFormat引发,创建一个 SimpleDateFormat实例的开销比较昂贵,解析字符串时间时频繁创建生命周期短暂的实例导致性能低下。即使将 SimpleDateFormat定义为静态类变量,貌似能解决这个问题,但是SimpleDateFormat是非线程安全的,同样存在问题,

2016-08-25 14:53:55 2670 1

原创 设计模式(五)——抽象工厂模式

概述抽象工厂模式(Abstract Factory Pattern)是工厂方法模式的进一步抽象,其英文原话"Provide an interface for creating families of related or dependent objects without specifying their concrete classes",翻译,“为创建一组相关或相互依赖的对象提供一个借

2016-08-24 22:38:24 396

原创 设计模式(四)——工厂模式

为什么要用工厂模式    在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况, 新对象的建立就

2016-08-24 21:41:49 257

转载 Callable和Future

接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。       Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执

2016-08-24 17:31:44 315

原创 ThreadLocal 使用分析

1.概述       ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定

2016-08-20 22:00:13 312

原创 二叉树相关知识——java

1. 普通二叉树创建       点击查看二叉树创建方式2.二叉排序树(BinarySearchTree)性质:二叉排序树又名二叉查找树、二叉搜索树每个结点都有一个作为搜索依据的关键码(key),所有结点的关键码互不相同。左子树(如果非空)上所有结点的关键码都小于根结点的关键码。右子树(如果非空)上所有结点的关键码都大于根结点的关键码。左子树和右子树也是二叉

2016-08-20 16:50:58 377

原创 JUC——AQS

AbstractQueuedSynchronizer为实现依赖于先进先出 (FIFO) 等待队列的阻塞锁和相关同步器(信号量、事件,等等)提供一个框架。AQS简介使用深入简介获取和释放锁共享和互斥原理分析好难

2016-08-19 17:20:53 379

转载 JUC——CLH队列锁

自旋锁、排队自旋锁、MCS锁、CLH锁的概念讲述Next:CLH队列锁分析CLH是AQS的实现基础,Java并发包很多也是基于AQS,所以CLH和AQS还是要了解一下的,直接点击上面链接即可。太懒了~~~

2016-08-19 15:48:15 681

原创 Java面试基础知识提纲

J2SE: 1 、集合(这个部分的内容是频率高的内容,个人觉得是因为结合了数据结构,还可以结合并发安全考。其实要通关这部分,最好就是把JDK 标准类的源码实现一次):ArrayList 、 LinkedList、 Vector 的底层实现和区别HashMap 和 HashTable的底层实现和区别,两者和 ConcurrentHashMap 的区别。HashMa

2016-08-19 10:33:40 433

转载 指令重排与happens-before

我们在平时所习惯的单线程编程中默认了一种乐观的模型——串行一致性。即在程序中只存在唯一的操作执行顺序,并且在每次读取变量时,都能获得在执行序列(任何处理器)最近一次写入该变量的值。但在JMM以及底层的任何一看现代多处理器架构中都不会提供这种串行一致性。这在并发编程中会造成一些在单线程环境下看来难以理解的现象。什么是线程安全:当多个线程访问一个类时,如果不用考虑这些线程在运行

2016-08-19 09:57:07 460

转载 解读equals方法与hashCode方法渊源

一、equals() 所属以及内部原理(即Object中equals方法的实现原理)      说起equals方法,我们都知道是超类Object中的一个基本方法,用于检测一个对象是否与另外一个对象相等。而在Object类中这个方法实际上是判断两个对象是否具有相同的引用,如果有,它们就一定相等。其源码如下:public boolean equals(Object obj) {

2016-08-17 15:54:14 362

转载 JUC原子类 Atomic***** 使用

一、Atomic简介Atomic包是Java.util.concurrent下的另一个专门为线程安全设计的Java包,包含多个原子操作类。这个包里面提供了一组原子变量类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择

2016-08-17 10:55:29 769

转载 JUC原子类 Atomic***** 基本类型

1. 功能简介原子量和普通变量相比,主要体现在读写的线程安全上。对原子量的是原子的(比如多线程下的共享变量i++就不是原子的),由CAS操作保证原子性。对原子量的读可以读到最新值,由volatile关键字来保证可见性。原子量多用于数据统计(如接口调用次数)、一些序列生成(多线程环境下)以及一些同步数据结构中。Atomic...基本类型包括:AtomicInteger, At

2016-08-17 09:11:05 510

原创 两道设计题目~

题目1:天猫双十一有个积分换墨盒的活动,总共有50万台天猫魔盒(box),每个用户(user)可以用99个天猫积分(point)兑换一台魔盒,且每人限换一台。 请设计一套java接口并实现下单(order)逻辑。 参考(但不局限于)下面的下单逻辑:1、创建订单  2、扣减用户积分 3、扣减魔盒库存 4、下单成功 同时请回答:  1、数据库表结构如何设计,有哪些表,分

2016-08-16 16:01:27 659

原创 算法题:马路上的路灯<考察重复数据剔除>

题目:思路:1. 建立1到M+1的数组,0表示存在路灯,1表示移除路灯2. 输入数据时:如100  200,则循环把100到200内的路灯标识为1,表示移除,这样做的好处是不用考虑下面的重复,下面即使有重复数据,也会覆盖为1;3.输出为0的路灯个数即可。import java.util.Scanner;public class case13 {

2016-08-16 11:21:20 588

转载 浅析Java中的装箱和拆箱

一、概念在前面的文章中提到,Java为每种基本数据类型都提供了对应的包装器类型,至于为什么会为每种基本数据类型提供包装器类型在此不进行阐述,有兴趣的朋友可以查阅相关资料。在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:Integer i = new Integer(10);而在从Java SE5开始就提供了自动装箱的特性,如果要生成一

2016-08-16 09:43:58 422

原创 继承中类加载的顺序

看代码如下:Father 父类Son extends FatherInitClass extends Sonpublic class InitClass extends Son{ static{ System.out.println("InitClass 静态块...."); } { System.out.println("InitClass 构造代码块

2016-08-15 21:29:08 389

原创 算法题:超级楼梯(斐波那契)

题目:分析:1、因为每次只能走 1 步或 2 步,所以从第一级走上第二级只能上 1 步,只有一种走法。 f ( 2 ) = 12、从第一级走到第三级,可以从第一级上 2 步,也可以从第二级上 1 步,有两种走法。 f ( 3 ) = 23、所以,走上第 n 级,可以从第 n-1 级上 1 步,也可以从第 n-2 级上 2 步。 f ( n ) = f ( n

2016-08-15 16:14:17 1229 2

原创 算法题:路灯

题目:思路:对一系列数中,排序后,找到差别最大的相邻两个数差距的一半注意:两个临界值,左右端点,最左灯和最右灯照射范围就是d 了,不是上面的一半了。注意:max必须为double类型的!!!之前定义成int类型的,AC一直是60%...气哭了import java.text.DecimalFormat;import java.util.Ar

2016-08-15 15:42:46 1614

原创 算法题:反转数组

题目如下:《来源赛码网》import java.util.Scanner;/** * 反转数组 * 通过判断反转的次数来进行结果的输出,没有要求输出最后的数组 * 思路:从第一个元素遍历:设置第一个为最大元素:若下一个元素小于此则表示反转了一次 如:6 5 * 若 下下个元素也小于max则没有反转 如 6 5 4 * 若下下个元素大于上一个元素表示也反转了

2016-08-15 11:24:26 831 1

原创 算法题:取近似值

1. public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNextDouble()){ double l=sc.nextDouble(); System.out.println(Math.round(l));

2016-08-14 16:02:25 1031

原创 算法题:字符串分隔填充

牛客的题,自己傻乎乎的写了老长老长一段代码,最好被这段惊呆了,帅!题目如下:import java.util.Scanner;public class case05 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); whil

2016-08-14 11:14:27 404

原创 算法题:<将功赎过>

题目:这里最重要的是统计l~r范围内中有没有m个1package NormalIO;import java.util.Scanner;public class case2 { public static void main(String args[]) { Scanner cin = new Scanner(System.in); int l, r,

2016-08-13 09:41:42 1520

简单Python爬虫代码

从python的百度百科中抓取其中的超链接,打印输出

2016-11-10

java 二叉排序树构建遍历

排序二叉树的基础代码,包含递归非递归二叉树构建、递归非递归遍历,获取最小最大值。

2016-08-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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