javase

详解jQuery插件开发方式

我是研究僧i 提交于 2020-03-01 20:27:46
Query插件开发 一般来说,jQuery插件的开发分为两种:一种是挂在jQuery命名空间下的全局函数,也可称为静态方法;另一种是jQuery对象级别的方法,即挂在jQuery原型下的方法,这样通过选择器获取的jQuery对象实例也能共享该方法。 一、jQuery扩展    1、$.extend(object)   类似于.Net的扩展方法,用于扩展jQuery。然后就可以用$.的方式调用。 ? 1 2 3 4 $( function (){ $.extend({ fun1: function () { alert( "为jQuery扩展一个fun1函数!" ); } }); $.fun1(); })    2、$.fn.extend(object)   扩展jQuery的对象。 ? 1 2 $.fn.extend({ fun2: function () { alert( "执行方法2" ); } }); $( "#id1" ).fun2();   可以用google来看看:   上面的写法等同于: ? 1 2 $.fn.fun2 = function () { alert( "执行方法2" ); } $( this ).fun2(); 二、私有域   其定义方式如下: ? 1 2 3 4 ( function ($) { })(jQuery); //相当于 var fn =

wait() notify() notifyAll()小结

♀尐吖头ヾ 提交于 2020-02-29 21:43:47
1.wait()和notify()是如何工作的? 这两个方法不并在Thread类中,而是在Object类中.这说明任何对象都可以调用这两个方法. 这两个方法的方法签名如下: public final void wait() throws InterruptedException; public final native void notify(); 当一个对象实例调用了wait()方法后,当前线程就会在这个对象上等待.比如,线程A中,调用了OBJECT.wait()方法,那么A线程就暂停了执行,转为等待状态,它会一直等待到其他线程调用了同一对象OBJECT.notify()方法为止.这时,这个OBJECT对象就成为两个线程之间有效的通信手段. 如果一个线程调用了OBJECT.wait(),那么它就会进入到一个线程等待的队列当中.这个等待队列当中,可能会有多个线程,因为系统多个线程都在同时等待某一个对象.当OBJECT.notify()被调用,JVM会从这个等待队列中,随机选择一个线程来唤醒. 要注意:上面的过程并不是公平的,不会因为你的线程优先级高,或者先进入等待队列而被优先选择,是完全随机的. 2.notify()和notifyAll()的区别 除了notify()方法外,Object类还有一个方法是:notifyAll()方法.它和notify()的用法基本一致,但不同的是

正则表达式-常用构造子列表

扶醉桌前 提交于 2020-02-29 10:34:27
字符 表示单个字符。例如a ,它将匹配字符串中第一次出现的字符 a ;它也可以匹配第二个 a ,这必须是你告诉正则表达式引擎从第一次匹配的地方开始搜索。 可以使用特殊字符序列代表某些不可显示字符。 构造 匹配 B 字符B \xhh 十六进制值为oxhh的字符 \uhhhh 十六进制值为oxhhhh的Unicode字符 \t 制表符Tab:(‘\u0009’) \r 回车符:(‘\u000D’) \n 换行符:(‘\u000A’) \f 换页符:(‘\u000C’) \e 转义符(Escape):(‘\u001B’) 字符集 字符集是由一对括号[]括起来的字符集合。使用字符集,可以告诉正则表达式引擎仅仅匹配多个字符中的一个。 字符集可以出现在其它字符集中,并且可以包含并集运算符(隐式)和交集运算符 (&&)。 构造 匹配 [abc] a、b或c(等效于a|b|c) [^abc] 除了a、b或c的任何字符(否定) [a-zA-Z] a到z或A到Z的任何字符(范围) [abc[hij]] a、b、c、h、i或j,等效于a|b|c|h|i|j(并集) [a-z&&[hij]] h、i或j(交集) 并集和交集的应用示例如下: [a-c[h-j]] a到c或h到j的任何字符(并) [a-z&&[^hij]] a到z,除了h、i、j(减去),等效于[a-gk-z] [a-z&&[^h-j]]

注解(Annotation)

爷,独闯天下 提交于 2019-12-06 01:14:38
一、认识注解   注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解的了,注解是一种趋势,现在已经有不少的人开始用注解了,注解是JDK1.5之后才有的新特性 JDK1.5之后内部提供的三个注解 @Deprecated 意思是“ 废弃的,过时的 ” @Override 意思是“ 重写、覆盖 ” @SuppressWarnings 意思是“ 压缩警告 ” 范例:注解的应用: package cn.gacl.annotation; /** * 此类是用来演示注解(Annotation)的应用的,注解也是JDK1.5新增加的特性之一 * JDK1.5内部提供的三种注解是:@SuppressWarnings(":deprecation")、@Deprecated、@Override * @author 孤傲苍狼 * */ /** * 类名的命名是有讲究的,类名、属性名、变量名一般是名词,或者是形容词+名词,方法一般是动词,或者是动词+名词, * 以AnnotationTest作为类名和以TestAnnotation作为类名是有区别的, * 前者是注解的测试,符合名词的特征,后者是测试注解,听起来就是一个动作名称,是方法的命名特征 */

使用Eclipse-Maven-git做Java开发(5)--Eclipse的Java项目的创建过程

倖福魔咒の 提交于 2019-12-05 19:46:42
前面已经把所需要的基础设施准备好了,eclipse这个最关键的工具也进行了介绍,接下来就应该进行如何使用工具进行代码编写的介绍了。 上一篇博客发表也已经有较长的一段时间了,这段时间里面在公司的工作机操作系统切换到了Fedora 22,不得不说eclipse在上面的界面有点丑,但是用上大体还是和在windows上是一样的,算了,扯远啦…… 下面就来说一下使用eclipse创建SE和EE项目的流程,不涉及到maven和git,仅仅是熟悉eclipse的使用。 先说SE后说EE,创建的工程后面的博客还会使用到,用完了别慌着删除。 0、前提 我们假设已经按照前面的文章设置了环境什么的,对eclipse的视图什么的也有了一些了解,总之就是已经看过前面的文章了。 1、进入创建工程的选择窗口 使用eclipse的创建工程向导来创建工程,首先需要进入工程类型的选择窗口,这是创建所有类型的工程的必经步骤。 在Project视图,右键->"New"->"Project",打开选择新建工程类型的选择窗口,开始创建新工程的第一步。 2、创建Java SE工程 在弹出来的选择窗口中,下面有一个树形菜单,展开"Java",找到里面的“Java Project”,然后点击“Next”。 然后就正式进入创建Java SE项目的向导啦,有很多像配置可以选择或者修改,我们都直接使用默认的,只有项目的名字需要我们指定

java中Final关键字和Immutable Class以及Guava的不可变对象

孤街醉人 提交于 2019-12-02 17:09:25
大纲 写这篇文章的起因 java中Final关键字 如何构建不可变对象 Guava中不可变对象和Collections工具类的unmodifiableSet/List/Map/etc的区别 实验代码 写这篇文章的起因 java项目在使用FindBugs扫描的时候报了一个不能使用可变对象,记得报的是类似如下的信息: MS: Field is a mutable collection (MS_MUTABLE_COLLECTION) 官方解释: A mutable collection instance is assigned to a final static field, thus can be changed by malicious code or by accident from another package. Consider wrapping this field into Collections.unmodifiableSet/List/Map/etc. to avoid this vulnerability. 参考FindBugs的描述:http://findbugs.sourceforge.net/bugDescriptions.html 由于最近学习的东西较多,对有些基本的概念略有生疏,所以又温故了一下,顺便提供下上面问题的解决方案,仅供参考。

zxing代码中core和javase模块介绍

白昼怎懂夜的黑 提交于 2019-12-01 11:55:26
zxing的源码中包含很多的模块,模块列表如下: core: The core image decoding library, and test code javase: J2SE-specific client code zxingorg: The source behind zxing.org/w zxing.appspot.com: The source behind our web-based barcode generator android: Android client, called Barcode Scanner androidtest: Android test app android-integration: Supports integration with our Barcode Scanner app via Intent actionscript: partial port to Actionscript glass-mirror: partial implementation for the Google Glass Mirror API jruby: Ruby wrapper 这里主要介绍core和javase。 core为zxing的核心代码,包括encode和decode的代码。 javase可以定义为一个辅助代码,主要提供一些工具类。比如

Java 8新特性探究 前言

偶尔善良 提交于 2019-11-29 23:28:03
自2013年6月13日,oracle就已经发布的Java 8特性完备版本(M7),但最终GA版本将在2014年3月18日(已第二次跳票,原计划今年9月发布的,据官网宣称是为了解决安全问题......),相信大家多多少少都听闻了关于Java 8的改进,总得来说,Java 8从语言,核心库,国际化、虚拟机,安全性,平台等方面一共有55个特性,本系列博文将带大家对这55个特性进行探究,不求做到最好,只求详细,深入浅出,通俗易懂。 java几个重大版本 java从1995年发布到现在,也走过18年了,个人认为,其中几个java版本都肩负着重大使命,影响甚远; jdk1.0 1995年5月23日诞生,Oak语言改名为Java,并提出“Write Once ,Run anywhere"; jdk1.2 1999年6月发布,将java划分为J2SE,J2ME,J2EE三大平台; jdk1.4 主要是性能提升,在2000年时候JAVA成为世界上最流行的电脑语言,跟这个版本离不开关系,估计国内还有大量的java应用是运行在此版本上; jdk5 诞生于2004年,他的使命就是易用,加入1. 泛型 2 自动装箱/拆箱 3 for-each 4 static import 5 变长参数等, 为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0; jdk8 将在2014年3月份发布,迄今为止

博为峰Java面试题-JavaSE之抽象类

本秂侑毒 提交于 2019-11-27 15:45:40
[ 面试原题] [ 博为峰题目] 选项中哪一行代码可以替换题目中//add code here而不产生编译错误?() A public abstract void method(int a); B constInt = constInt + 5; C public int method(); D public abstract void anotherMethod() {} [ 正确答案] A [ 面试技术解析] 博为峰小博老师 : 抽象类遵循的原则 (1)abstract关键字只能修饰类和方法,不能修饰字段。 (2)抽象类不能被实例化(无法使用new关键字创建对象实例),只能被继承。 (3)抽象类可以包含属性,方法,构造方法,初始化块,内部类,枚举类,和普通类一样,普通方法一定要实现,变量可以初始化或不初始化但不能初始化后在抽象类中重新赋值或操作该变量(只能在子类中改变该变量)。 (4)抽象类中的抽象方法(加了abstract关键字的方法)不能实现。 (5)含有抽象方法的类必须定义成抽象类。 [ 技术扩展] 博为峰小博老师 : 抽象类和接口的区别 (1)接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的。 (2)abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是

java&javaweb学习笔记(汇总)

廉价感情. 提交于 2019-11-26 23:26:41
我的java&javaweb学习笔记(汇总) 笔记分为两大部分:javase和javaweb javase javaweb 笔记内容主要是对一些基础特性和编程细节进行总结整理,适合了解java基础语法,想进一步深入学习的人 github: java-learning git-clone: git@github.com:brianway/java-learning.git 如果觉得不错,请给star,这也是对我的鼓励,有什么意见欢迎留言反馈 目录 javase java基础巩固笔记(1)-反射 java基础巩固笔记(2)-泛型 java基础巩固笔记(3)-类加载器 java基础巩固笔记(4)-代理 java基础巩固笔记(4)-实现AOP功能的封装与配置的小框架 java基础巩固笔记(5)-多线程之传统多线程 java基础巩固笔记(5)-多线程之共享数据 java基础巩固笔记(5)-多线程之线程并发库 java基础巩固笔记(6)-注解 javaweb javaweb入门笔记(1)-Tomcat javaweb入门笔记(2)-http入门 javaweb入门笔记(3)-Servlet javaweb入门笔记(4)-request和response javaweb入门笔记(5)-cookie和session javaweb入门笔记(6)-JSP技术 联系作者 Brian's