
Java
文章平均质量分 69
超级熊熊
Java 设计和开发
展开
-
美国Java程序员收入和疫情期间面试心得体会
先说收入:东海岸的大部分的公司都可以给到10万,好一点的12万,牛的公司可以给到14万,我心心念念想去的差不多有16-18万,绝大部分都没有超过20万。8月3日从弗罗里达奥兰多回来以后,就一直在投简历,面试,这段时间都挺忙的。以下是最近找工作的两点体会:第一,美国Java程序员目前的工作形式非常好。虽然现在还是在疫情期间,但是明显工作机会和岗位非常多,可以说各个公司都在大量的招人。尤其是对有经验的程序员来说,接电话都接不过来。这两个星期,几乎每天找上门的recruiter都有5个+。虽然他们提供的工原创 2021-08-19 12:42:20 · 4981 阅读 · 3 评论 -
设计模式之1.1 再谈反射 以及java当中通过配置文件得到类名字,并生成对象的方法
感觉在设计模式当中,很多很多地方都要用到反射。尤其是从配置文件当中读取信息,并使用这个信息来动态加载。反射的应用特别常见,这里再一次的讨论反射和相关概念。 ClassLoader的类加载机制:l Java当中的类不是一次性都加载到内存当中l 而是需要的时候才动态的加载到内存当中,也就是说是运行期间的动态加载。l 静态的语句是在加载后执行一次,而且执行一次l Dyna原创 2012-12-31 00:30:10 · 1888 阅读 · 0 评论 -
设计模式之1 observer模式(第二版)
一直非常想写一个关于设计模式的系列。苦于没有时间,现在终于可以一个一个的写出来。很开心!本文word版本链接(可下载):http://wenku.baidu.com/view/9648d11a52d380eb62946d2f.html设计模式总章:设计模式就是把简单的问题复杂化,带来的好处是系统的可扩展性。用了设计模式以后:原创 2012-12-29 02:04:17 · 712 阅读 · 1 评论 -
Java写的常用数据库的访问类
DB类是项目用来连接数据库的辅助类:封装和数据库的连接。主要是和数据库连接的相关信息:1.找到驱动程序Class.forName("com.mysql.jdbc.Driver"); 2.连接字符串DriverManager.getConnection("jdbc:mysql://localhost/shopping?user=root&password=root");原创 2012-12-18 08:59:40 · 697 阅读 · 0 评论 -
设计模式之2 iterator模式-主要是容器类的应用
容器类是java当中非常重要的类。可以说,基本上每个项目都要用到容器类。通过这个设计模式,主要是反映通过接口来控制提供规定的方法名。具体的实现交给不同的具体的类去实现。collection接口是如此,iterator也是如此。 本文word版本(可下载): http://wenku.baidu.com/view/1dc00c6acaaedd3383c4d34a.html 首原创 2012-12-30 04:45:58 · 622 阅读 · 1 评论 -
两级下拉条联动方式+Ajax实现算法
两级下拉菜单联动方式:也就是说,在第一级菜单当中指定了信息,第二级下拉框当中的信息为第一级下拉框的子对象。1. javascript就是直接用javascript实现,加入一个changeCategory()方法, 从服务器返回一个字符串。这个字符串由服务器查询数据库动态生成。和ajax的区别就是在于,不用XHR对象。直接使用的onchange传值。 2.原创 2012-12-17 04:01:00 · 620 阅读 · 0 评论 -
AJAX的基本概念
AJAX的基本概念是构建网页的一种综合使用JavaScript和XML的技术。其实质是HTML网页的异步传输技术:表现形式:在等待网页的传输过程中,用户依然可以和系统进行交互。好处:页面不用刷新就可以更新内容。 典型的流程:1. 客户端出发异步操作2. 创建新的XMLHttpRequest对象。3. 与Server进行连接4.原创 2012-12-16 13:57:03 · 518 阅读 · 0 评论 -
javascript的trim()函数的实现
javascript的trim()函数的实现 在JavaScript中我们需要用到trim的地方很多,但是JavaScript又没有独立的trim函数或者方法可以使用,所以我们需要自己写个trim函数来实现我们的目的比如方法一: String.prototype.trim= function(){ // 用正则表达式将前后空格转载 2012-12-16 06:09:42 · 827 阅读 · 0 评论 -
Java解析XML的四种方法
原文地址:http://developer.51cto.com/art/200903/117512.htm XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type转载 2012-12-25 12:19:58 · 525 阅读 · 0 评论 -
Java中四种XML解析技术
原文地址:http://www.it.com.cn/f/edu/053/27/93819.htm 在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为)。 预 备 测试环境: A转载 2012-12-25 12:23:31 · 605 阅读 · 0 评论 -
JSP+JavaBean+DAO访问数据库
1. 分为3层:(其实业务逻辑层依然混乱)Category代表类别,是数据模型。CategoryDAO是数据访问层,和存储系统打交道,不一定是数据库,可以是文件系统等等。CategoryManager?提供服务的层次。(暂时无) 从数据库当中返回一个list,里面已经把树状结构排好。在后台做好递归,当list取出来的时候,已经拍好顺序了。每个节点上都有一个grad原创 2012-12-23 05:30:48 · 1498 阅读 · 0 评论 -
MVC三层结构访问数据库
1. 分为3层:product代表类别,是数据模型。productManager提供服务,提供各种方法productDAO(是一个接口,可以衍生出product MySQLDAO, product Oracle DAO等等)是数据访问层,和存储系统打交道,不一定是数据库,可以是文件系统等等。 产品列表(分页)产品添加产品搜索(分页) productMa原创 2012-12-24 00:22:39 · 1960 阅读 · 0 评论 -
GB18030、GBK、GB2312的区别
概括一下:GB18030向下兼容GBK、GB2312。GBK向下兼容GB2312以下内容转自:http://blog.sina.com.cn/s/blog_62c074450100fllj.htmlGBK、GB18030、GB2312 区别 1、 标准标准编号:GB 2312-1980标准名称:信息交换用汉字编码字符集 基本集标准状态:现行英文标题:Code of chines转载 2012-11-26 06:34:28 · 1425 阅读 · 0 评论 -
设计模式之5 责任链
责任链就是通过一连串的过滤器(filter)来对信息进行处理:1.最简单的实现方案,通过filter数组来实现。 filter接口,用来统一方法名。package com.bjsxt.dp.filter;//定义一个接口,用来指定方法的名字为doFilterpublicinterface Filter { String doFilter(String str);原创 2013-01-01 00:36:52 · 684 阅读 · 0 评论 -
设计模式之4.2 Spring bean容器以及怎么从xml当中读取配置信息
毫无疑问,spring是从XML来读取配置信息的。前面写过,在java当中读取XML配置信息的方式有四种。分别是:DOM(JAXP Crimson 解析器)接着是 SAX然后是 JDOM最后是 DOM4J 我们先来看使用JDOM从XML当中读取配置信息的方式:JDOM一般和xpath结合使用。来看看IBM一篇关于JDOM和XPATH结合编程的指南。原创 2013-01-01 07:02:21 · 839 阅读 · 0 评论 -
浅谈Java中的hashcode方法
浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:1public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是转载 2014-08-16 12:03:41 · 944 阅读 · 1 评论 -
什么是REST?
让我来给你们做一个非常简单的,适用的解释。REST 是一套用来创建Web Service的方法。REST式的Web Service的主旨是让事情尽量的简单化。REST式的Web Service使用HTTP里的方法:GET, POST, DELETE, PUT。你不需要使用URL或请求的内容来指定这个方法。REST式的Web Service使用URL来指明你将要操作什么对象。REST式的We转载 2014-07-30 23:19:09 · 638 阅读 · 0 评论 -
OGNL在Struts2中的应用
要谈OGNL在Struts2中的应用,首先得明白OGNL到底是什么OGNL 的历史OGNL 最初是为了能够使用对象的属性名来建立 UI 组件 (component) 和 控制器 (controllers) 之间的联系,简单来说就是:视图 与 控制器 之间数据的联系。后来为了应付更加复杂的数据关系,Drew Davidson 发明了一个被他称为 KVCL(Key-Value Codi转载 2013-01-17 05:28:13 · 631 阅读 · 0 评论 -
综合谈下Java当中对Date的处理
Java当中对Date的处理:首先提出问题:1. 什么叫UTC,UT? GMT?世界时间,时间标准时间,格林威治时间。2. 怎么得到当前系统时间?第一种方式:System.currentTimeMills(); 返回的是,当先系统时间与1970年1月1日0点0分0秒0毫秒比较,相差多少个毫秒 第二种方式:创建一个Date对象,Date d =new原创 2013-01-05 06:15:43 · 802 阅读 · 0 评论 -
设计模式之7 command模式和state模式,调停者模式,门面模式
1. Command模式: 简单来说就是每一个请求过来,都有一个事物去处理。在最初的设计模式书当中,command模式最主要的功能是用来实现undo(撤销)功能的。 首先是抽象类Command:package com.bjsxt.dp.command;//提供一个抽象类来规定方法的名称为execute和undopublicabstractclass Command原创 2013-01-05 11:58:39 · 949 阅读 · 0 评论 -
Eclipse中编译器版本问题:让Eclipse认识enum
总有这样的一个问题,就是新下载的eclipse打开使用有enum关键字的项目,总是有不认识enum的情况。 观察发现,其实项目的JRE System Library 已经设置成1.5或者1.6了,按理来说,是应该支持enum关键字的。百思不得其解后发现,其实这里是JRE的配置,而不是编译器的配置。而eclipse的出错检查正是以编译器设置为准的:在Windows->Prefer原创 2013-01-05 11:46:20 · 1986 阅读 · 0 评论 -
再谈java线程以及经典的生产者,消费者问题
进程是一个静态的概念。线程是一个进程里面的不同的执行路径。在java技术中,线程通常是抢占式的而不需要时间片分配进程(分配给每个线程相等的CPU时间的进程)。抢占式调度模型就是许多线程处于可以运行状态(等待状态),但实际上只有一个线程在运行。该线程一直运行到它终止进入可运行状态(等待状态),或者另一个具有更高优先级的线程变成可运行状态。在后一种情况下,低优先级的线程被高优先级的线程抢占,高原创 2013-01-05 11:17:31 · 641 阅读 · 0 评论 -
JSP+bean访问数据库
user 采用jsp+bean (在bean里面访问数据库) 前台为注册:jsp为register.jsp 在注册的时候需要检查数据有效性,通过一个javascript来实现。 function checkdata(){ var ssn=form.username.value.toLowerCase(); if(!checkUserName(ss原创 2012-12-21 05:11:39 · 625 阅读 · 0 评论 -
设计模式之6 桥接模式和adapter模式
1. 桥接模式就是bridge模式。简单的来说,就是一个类如果想往两个维度扩展,就用耦合来代替继承关系,进行排列组合。 所谓耦合就是在一个类当中持有另外一个类的对象。通过耦合和继承相结合,就可以排列组合出各种情况。Bridge模式是为了解决类的层次和结构过于复杂的问题,而提出的。 类与类的关系:1. 如果一个类的对象是另外一个类的成员变量,表示原创 2013-01-03 06:33:43 · 728 阅读 · 0 评论 -
设计模式之4.1 Spring入门初步之Spring bean工厂
前面我们在讲到工厂模式的时候,提到了spring的bean工厂。这里详细说明一下: http://wenku.baidu.com/view/69f94e80d0d233d4b14e6970.html?st=1本文word格式下载:本文word格式下载:Spring的bean容器,bean工厂,也叫IOC(Inverseof Control),是面向接口编程,面向抽象编程。原创 2012-12-31 07:17:27 · 696 阅读 · 0 评论 -
设计模式之3 C&C当中的策略(strategy)模式
C&C当中的策略(strategy)模式设计模式的就是把简答的问题复杂化,原因是为了扩展。产生多态,抽象,复杂化。 本文word格式下载:http://wenku.baidu.com/view/40ef9919cc7931b765ce159b.html?st=1C&C就是指Comparable和Comparator接口。 1.Comparable接口为了比较原创 2012-12-30 10:25:01 · 751 阅读 · 1 评论 -
设计模式之4 工厂模式
工厂模式的核心在于new. 也就是说,不让使用者直接new一个对象。而是通过一个getInstance来得到这个对象。也就是说,在new的时候,要有权限检查怎么办,有没有这方面的资质?那么对于工厂生成这个对象的时候,不能随便new。本文word格式下载:http://wenku.baidu.com/view/f084e9360912a216147929ed.html?s原创 2012-12-30 10:30:44 · 597 阅读 · 1 评论 -
JDBC学习笔记,以oracle 9i为例。
最典型的Oracle JDBC程序:1. 查询语句:import java.sql.*; publicclass TestJDBC { publicstaticvoid main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection原创 2012-11-24 15:29:55 · 787 阅读 · 0 评论 -
JSP学习笔记
1. 什么是JSP,JSP综述 JSP(Java Server Pages)拥有servlet的特性与优点其实质就是一个servlet,tomcat给我们把它翻译成了一个servlet,实际上我们能在C:\apache-tomcat-6.0.14\work\Catalina\localhost\my\org\apache\jsp下面找到对应的jsp文件所对应的java文件和class原创 2012-11-22 13:10:20 · 721 阅读 · 0 评论 -
关于类的修饰符
关于类的修饰符 对于类可以使用的说明符:public abstract final (default) 对于类来说,只有两个访问说明符:public default。 对于方法和变量的说明符:public protected (default) private staticfinal abstract native(调用本地方法JNI) synchronized原创 2012-11-16 11:50:18 · 564 阅读 · 0 评论 -
JSF和JSP的区别
Java在最近几年逐渐升温,随着Java SE 5和Java SE 6的推出,Java的未来更显得无比辉煌。但以Java为基础的JSP在Java SE 5推出之前却一直抬不起头来,这最重要的原因就是JSP虽然功能十分强大,但最大的优点也是它的最大缺点,功能强大就意味着复杂,尤其是设计前端界面的可视化工具不多,也不够强大。因此,设计JSP页面就变得十分复杂和繁琐。不过,在Java SE 5推出的同时转载 2012-11-29 10:38:10 · 4351 阅读 · 0 评论 -
关于Javac的编译
javac 编译的时候可以不管包的结构,直接编译得到.class文件可以用 javac –d 来指定编译后得到的.class文件的位置 如果要用.java文件里面的包的结构需要用到javac –d . Test.java就会在当前目录下,自动生成相应的包的结构(文件路径) 在当前目录下生成包 javac –d . Test.java在指定目录下生成包原创 2012-11-14 07:07:05 · 671 阅读 · 0 评论 -
关于java中的properties类
实际上properties是一个Hashtable的子类,而且实现了map接口,也就是说其实properties当中存储的内容是(key, value)对。而在properties当中存储的内容都是字符串类型。其格式为:xxx=xxx 可以用properties类来获取当前JVM的系统属性,方式如下: import java.util.*;import java.io.原创 2012-11-13 10:00:10 · 537 阅读 · 0 评论 -
关于Java当中的RunTime类
每一个Java程序都有一个且只有一个Runtime类的单一实例。RunTime类非常特殊,是没有构造方法的。它提供了应用程序和java的接口。是通过Runtime.getRuntime()获取Runtime类的实例。 可以通过RunTime类的对象来获取JVM所使用的内存。 class RuntimeTest{ publicstaticvoid main(Stri原创 2012-11-13 08:00:17 · 511 阅读 · 0 评论 -
关于Java当中Class类
Class 类注意,这里的Class是大写的C。所以这里的Class是个特殊的类,而不是定义类的关键词class。 在Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。 构造Class实例的是三种方法:1. 采用目标类的对象的get原创 2012-11-13 07:09:47 · 596 阅读 · 0 评论 -
关于eclipse当中的版本兼容问题(一点小问题的解决也需要大量的时间)
我是eclipse菜鸟,高手勿喷。我写的东西在这里可能都不一定对,但是至少我留在这里帮我解决了我自己在编译当中遇到的问题。首先,在我机器上是有两套java编译器的。一个是java 1.7 64bit版本,一个是java 1.6 32bit版本。java1.7是装netbeans7.2的时候,netbeans自己装上的。 本来的想法是,用java1.7来对付java ee的开发(原创 2012-11-11 04:52:08 · 4418 阅读 · 0 评论 -
Eclipse快速上手指南之使用JUnit
测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,JUnit是一个非常强大的单元测试包,可以对一个/多个类的单个/多个方法测试,还可以将不同的TestCase组合成TestSuit,使测试任务自动化。Eclipse同样集成了JUnit,可以非常方便地编写TestCase。 我们创建一个Java工程,添加一个example.Hello类,首先我们给Hello类添加一个abs转载 2012-11-07 12:34:41 · 864 阅读 · 0 评论 -
老调重谈,关于java的环境变量配置
依次点击:“我的电脑”-(右键)“属性”-“高级”-“环境变量”,弹出Windows的“环境变量”配置卡。在“系统变量”栏下执行三项操作:①新建“Java_Home”,设置其值为 JDK所在的绝对路径(例如 D:\Program Files\Java\jdk1.5.0_04)。②新建“Classpath”(如果已有,则直接编辑),设置其值为 .;%Java_Home%\lib; (若值转载 2012-11-04 13:35:59 · 440 阅读 · 2 评论 -
关于java的重要的两个网址
java api的介绍英文版:http://docs.oracle.com/javase/7/docs/api/中文版:http://www.cjsdn.net/Doc/JDK60/原创 2012-10-25 03:47:17 · 397 阅读 · 0 评论 -
关于java中的克隆
克隆都是对于对象而言的。 n为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。n在派生类中覆盖基类的clone()方法,并声明为public。n在派生类的clone()方法中,调用super.clone()。n在派生类中实现Cloneable接口。class StringTest{ public static void main(Stri转载 2012-10-20 04:03:36 · 621 阅读 · 0 评论