java
cmhy
这个作者很懒,什么都没留下…
展开
-
HTTPS协议,SSL协议及完整交互过程
SSL 安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议。SSL协议的三个特性Ø 保密:在握手协议中定义了会话密钥后,所有的消息都被加密。Ø 鉴别:可选的客户端认证,和强制的服务器端认证。Ø 完整性:传送的消息包括消息完整性检查(使用MAC)。SSL的位置HTTPSHTTPS基于SSL...原创 2019-11-04 11:06:55 · 887 阅读 · 0 评论 -
JAVA—sleep()和wait()的区别
转载 sleep()和wait()的区别Java中的多线程是一种抢占式的机制而不是分时机制。线程主要有以下几种状态:可运行,运行,阻塞,死亡。抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行。 当有多个线程访问共享数据的时候,就需要对线程进行同步。线程中的几个主要方法的比较: Thread类的方法:sleep(),yield()等 O转载 2016-05-29 17:56:05 · 420 阅读 · 0 评论 -
购物车怎么实现
转载 目前购物车的实现主要是通过cookie、session或结合数据库的方式。下面分析一下它们的机制及作用。cookiecookie是由服务器产生,存储在客户端的一段信息。它定义了一种Web服务器在客户端存储和返回信息的机制,cookie文件它包含域、路径、生存期、和由服务器设置的变量值等内容。当用户以后访问同一个Web服务器时,浏览器会把cookie原样发送给服务器。通过让服务器读取原先保存转载 2016-05-17 19:51:35 · 541 阅读 · 0 评论 -
排序算法(冒泡 插入 快速 归并)java
列表内容冒泡 “` public static void bubble(int[]array){ for(int i=0; i 2. 插入public static void insert(int[]array){ int i,j; int currentValue; int position; for(i=1;i原创 2016-05-22 17:01:07 · 376 阅读 · 0 评论 -
面向接口编程详解——思想基础
转载 我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文将一一解答这些疑问。1.面向接口编程和面向对象编程是什么关系首先,面向接口编程和面向对象编程并不是平级的转载 2016-06-12 07:29:34 · 283 阅读 · 0 评论 -
中文乱码的问题设置
中文乱码问题,以下几个地方需要配置为utf-8:jsp页面的编码方式Eclipse的workspace的编码方式project的编码方式tomcat的编码方式原创 2016-07-19 17:26:51 · 332 阅读 · 0 评论 -
关于Throwable, Error, Exception
java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception。 1.异常的分类 Error:一般为底层的不可恢复的类; Exception:分为未检查异常(RuntimeException)和已检查异常(非RuntimeException)。 未检查异常是因为程序员没有进行必需要的检查,因为疏忽和错误而转载 2016-11-07 09:20:44 · 393 阅读 · 0 评论 -
java.class.getClassLoader 容易理解的方式
Java是面向对象语言,面向对象的语言的宗旨就是万事万物皆对象,那么类也是一个对象,类里面的属性和方法也是对象。java里面的所 有的类都是Class类的对象,这个this.class是获得这个类相对于Class类的对象。后面的方法是获得这个类对象的加载器。 只有Class类才有getClassLoader()方法呀~ 可以这么想,我们平时讲述某某类,但是我们并没有说这个类怎么和虚拟机打交道,虚拟机原创 2016-12-23 00:11:20 · 2612 阅读 · 0 评论 -
为什么重写equals时必须重写hashCode方法?
首先我们先来看下String类的源码:可以发现String是重写了Object类的equals方法的,并且也重写了hashcode方法:public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) {转载 2017-02-20 21:45:10 · 745 阅读 · 0 评论 -
java中Integer值比较不注意的问题
今天,帮人看代码时,发现这个问题,回顾起来,记录下来。 先来看一个代码片段 [java] view plain copy public static void main(String[] args) { Integer a1 = Integer.valueOf(60); //danielinbiti Integer b1 = 60; Sy原创 2017-11-23 12:40:47 · 1735 阅读 · 0 评论 -
JAVA的CAS
前言CAS,Compare and Swap即比较并替换,设计并发算法时常用到的一种技术,Doug lea大神在java同步器中大量使用了CAS技术,鬼斧神工的实现了多线程执行的安全性。目前的处理器基本都支持CAS,只不过不同的厂家的实现不一样罢了。CAS有三个操作数:内存值V、旧的预期值A、要修改的值B,当且仅当预期值A和内存值V相同时,将内存值修改为B并返回true,否则什么都不做并返回fals原创 2017-11-23 19:58:03 · 279 阅读 · 0 评论 -
java 中的锁 -- 偏向锁、轻量级锁、自旋锁、重量级锁
java 中的锁 – 偏向锁、轻量级锁、自旋锁、重量级锁 http://blog.csdn.net/zqz_zqz/article/details/70233767转载 2018-03-19 10:07:14 · 248 阅读 · 0 评论 -
java synchronized静态同步方法与非静态同步方法,同步语句块
转载 进行多线程编程,同步控制是非常重要的,而同步控制就涉及到了锁。 对代码进行同步控制我们可以选择同步方法,也可以选择同步块,这两种方式各有优缺点,至于具体选择什么方式,就见仁见智了,同步块不仅可以更加精确的控制对象锁,也就是控制锁的作用域,何谓锁的作用域?锁的作用域就是从锁被获取到其被释放的时间。而且可以选择要获取哪个对象的对象锁。但是如果在使用同步块机制时,如果使用过多的转载 2016-05-29 11:14:24 · 1040 阅读 · 0 评论 -
Java虚拟机结构分析
转载 本博文主要介绍了JVM(Java Virtual Machine)的组成部分以及它们内部的工作机制和原理。需要注意的是,虽然平时我们用的大多是Sun(现已被Oracle收购)JDK提供的JVM,但是JVM本身是一个规范,所以可以有多种实现,除了Hotspot外,还有诸如Oracle的JRockit、IBM的J9也都是非常有名的JVM。结构下图展示了JVM的主要结构:可以看出,JVM主要由转载 2016-05-28 00:04:15 · 290 阅读 · 0 评论 -
使用HashMap,如果key是自定义的类,就必须重写hashcode()和equals()。
转 使用HashMap,如果key是自定义的类,就必须重写hashcode()和equals()。 1.hashcode()和equals()是在哪里被用到的?什么用的? HashMap是基于散列函数,以数组和链表的方式实现的。而对于每一个对象,通过其hashCode()方法可为其生成一个整形值(散列码),该整型值被处理后,将会作为数组下标,存放该对象所对应的Entry(存放该对象及其对应值)。转载 2016-05-27 22:44:20 · 4937 阅读 · 0 评论 -
java同步经典问题生产者消费者
java原创 2014-10-28 07:19:54 · 532 阅读 · 0 评论 -
jsp 使用request获得url的方法
jsp 使用request获得url的方法原创 2015-01-31 11:15:35 · 613 阅读 · 0 评论 -
Struts2 命名规范
本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q插入链接 Ctrl +原创 2015-11-09 23:44:22 · 470 阅读 · 0 评论 -
struts2 action获取jsp参数的三种方式
struts2 action获取jsp参数的三种方式本文通过实例解析action从jsp获取参数的三种方式。一. 列表内容、通过get set方法获取 在对应的action类中定义了同名变量,并且生成了set get方法,那么参数将会自动获取变量的值。这里写代码片Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离原创 2016-02-16 17:55:06 · 2977 阅读 · 0 评论 -
struts2的jsp读取action参数
jsp读取action参数方式有三种。一、action中使用get set方法 ,JSP使用OGNL表达式 取值,注意返回结果类型为forward for example<s:property value="name"/> <s:property value="user.name"/> 二、通过ActionContext传值,在Action中所调用的方法中加入:ActionContext.原创 2016-02-16 18:37:04 · 460 阅读 · 0 评论 -
struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)
转载 dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp) Xml代码 : /main.jsp /main.jsp 以上写法使用了两个默认,其完整的写法为: /maini.jsp 用于页面转发,页面跳转过程一直是同一个线程,Action中的数据一直保存在。 location只能是页面,不能是另一个action(可用type=”ch转载 2016-02-17 00:07:58 · 340 阅读 · 0 评论 -
struts2中的addActionError 、addFieldError、addActionMessage的方法
一 addActionError ①概念 addActionError是Action级别的错误消息②添加 this.addActionError(“错误信息”);③显示 显示全部的Action级别的错误消息,可以加CSS二 addFieldError ①概念 addFieldError给一个字段(属性)添加错误消息②添加 this.addFieldError(“pwd”, “错误信息”转载 2016-03-16 07:11:50 · 444 阅读 · 0 评论 -
serialVersionUID 作用
serialVersionUID的作用简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。(InvalidCastException转载 2016-03-05 08:01:15 · 311 阅读 · 0 评论 -
工厂模式
工厂模式分为三类: 简单工厂、工厂方法、抽象工厂模式。简单工厂工厂方法抽象工厂模式 具体讲解抽象工厂模式: 定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。 类型:创建类模式 类图:抽象工厂模式与工厂方法模式的区别 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,原创 2016-04-16 10:51:30 · 246 阅读 · 0 评论 -
JAVA设计模式初探之桥接模式
转载 生活中的一个例子: 拿汽车在路上行驶的来说。既有小汽车又有公共汽车,它们都不但能在市区中的公路上行驶,也能在高速公路上行驶。这你会发现,对于交通工具(汽车)有不同的类型,它们所行驶的环境(路)也有不同类型,在软件系统中就要适应两个方面(不同车型,不同道路)的变化,怎样实现才能应对这种变化呢? 概述: 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对转载 2016-04-17 09:49:56 · 254 阅读 · 0 评论 -
collection和Map区别
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。 Collection ├ List │ ├LinkedList │ ├ArrayList │ └Vector │ └Stack └Set Map ├H转载 2016-05-25 23:33:17 · 541 阅读 · 0 评论 -
Java中普通代码块,构造代码块,静态代码块区别及代码示例
Java中普通代码块,构造代码块,静态代码块区别及代码示例Java中普通代码块,构造代码块,静态代码块区别及代码示例 //执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。1 普通代码块复制代码 1 //普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现原创 2016-05-15 10:57:42 · 259 阅读 · 0 评论