JAVA - 技术教程文章

设计模式详解-java(转)

一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案。在真正理解设计模式之前我一直在编写“简单”的代码.这个“简单”不是功能的简单,而是...

初识Java

一、字符转义字符 : \加特殊的字符 \t \n二、数据类型和运算符1)标识符的命名规范:项目名字,包,类,接口,变量,方法名,常量最基本的要求:见名知义项目名字:字母和数字包:一般用公司域名的反写, cn.bdqn 类,接口:首字母大写,如果多音节词,后续字符大写 HelloWorld变量,方法名:首字母小写,如果多音节词,后续字符大写 studentName age常量:字母全部大写,如果是多音节词,用下划线。 AGE STUDENT_NAME2)注释:...

7)Java数据类型

Java中的数据类型分为基本数据类型和引用数据类型: 1)基础数据类型有: boolean, byte、short、char, int、float、long, double。 它们可被分为四种类型,整型、浮点型、char型和boolean型。 byte,boolean : 1 short ,char : 2 int, float : 4 long, double : 8 所有基本数据类型都有相应的数据封装类型。整型:byte、short、int、long 分别占用1、2、4、8个字节的空间...

Java 读写图像

Java中进行图像I/O(即读图片和写图片,不涉及到复杂图像处理)有三个方法:1. Java Image I/O API,支持常见图片,从Java 2 version 1.4.0开始就内置了。主页:http://java.sun.com/javase/6/docs/technotes/guides/imageio/index.html2. JAI 中的 Image I/O Tools,支持更多图片类型,例如JPEG-LS, JPEG2000, 和 TIFF。主页:https://jai-imageio.dev.java.net/。JAI 是一个关于图像处理的框架,很庞大,其中仅仅jai-imageio是关...

MVC模式在Java Web应用程序中的实例分析【图】

结合六个基本质量属性可用性:异常可修改性:1.维持语义的一致性,高内聚低耦合2.维持现有的接口,Login依赖LoginIService接口,LoginService依赖ILogDAO性能:暂无安全性:对用户进行身份验证易用性:暂无 分析具体功能模块的MVC设计实现(例如登录、用户权限等功能模块)在实际项目中的具体应用或分析MVC设计模式在具体网站中的应用(需要列举实例) loginpublic String execute() throws Exception{ String[] request=loginser...

Java批量压缩下载【代码】

最近做了一些有关批量压缩下载的功能,网上也找了一些资源,但都不是太全面,所以自己整理一份,已备不时之需。直接上代码:  // 获取项目路径   private static String WEBCLASS_PATH = Thread.currentThread().getContextClassLoader().getResource("").getPath();   // 获取webinf路径   private static String WEBINF_PATH = WEBCLASS_PATH.substring(0, WEBCLASS_PATH.lastIndexOf("classes"));   // 获...

Java和Android开发IDE---IntelliJ IDEA使用技巧(转)

以前一直使用的是Eclipse,听别人介绍说IDEA非常不错,也为了以后转Android studio铺垫下。就开始尝试用idea来开发。 这篇文章主要学习了idea的使用技巧。 IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、 J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品...

Java中Enum方法toString与ordinal方法【代码】

Java中Enum方法toString与ordinal方法publicenum Language {C, Java, PHP; }publicclass EnumDemo {publicstaticvoid main(String args[]) {// returns the name of this enum constant(String)System.out.println("Programming in " + Language.C.toString()); System.out.println("Programming in " + Language.Java.toString()); System.out.println("Programming in " + Language.PHP.toString()); // returns the o...

java TCP客户端 服务端 互访

服务端: 1, 创建socket服务器服务,服务器端为了让客户端可以连接上,必须提供端口,监听一个端口 2,获取客户端对象,通过客户端的socket流和对应的客户端进行通信 3,获取客户端的socket流的读取流 4,读取数据并显示在服务器端 5,关闭资源 package cn.net.tcp;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.So...

《Java从入门到放弃》入门篇:Struts2的常用验证方式【图】

感觉过了一个周末,人都懒得不要不要的,今天就来点简单的内容吧 - -,各位看官如果欲求不满的话,可以自行解决或再去宠幸其他“勃主”··· struts2的验证方式主要有四种方式:一、直接在功能方法中写验证代码(不要扔鸡蛋,这种办法确实算一种)二、重写validate方法(注意这个方法会验证该类中所有的方法)三、使用ValidateXxx方法(Xxx对应要验证的方法的方法名)四、用struts2的验证框架(也就是使用配置文件的方式来实现,这种...

JAVA写接口傻瓜(#)教程(四)【代码】【图】

接上篇  7、sevlert    啊啊啊终于写到最重要的实现部分了。Servlet = Service + Applet,表示小服务程序。Servlet 是在服务器上运行的小程序。这个词是在 Java applet的环境中创造的,Java applet 是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(Co...

java异步验证且json字符串传递

有时候在项目中需要异步验证,并通过json和字符串传递数据。第一种是对象转为json:var params={"recordId":TLD.record_id,"item_id":itemid.val(),"tj_value":$(this).val(),"is_many_range":$(this).attr("is_many_range")}; $.ajax({type:"POST",url : "/deptex/scopedis.htm", dataType : "JSON",data:params,//你需要的传入后台的参数async:false,//必须同步,否则开关bvalue无效global:false,success : function(data){//is_...

Java 常用类—— JDK8之前日期时间API【代码】【图】

一、日期相关常用类 二、获取时间戳  System 类提供的 public static long currentTimeMillis() 用来返回当前时间与 1970 年1月1日0时0分0秒之间以毫秒为单位的时间差。public static long currentTimeMillis():此方法适于计算时间差 扩展:计算世界时间的主要标准有:UTC:Coordinated Universal TimeGMT:Greenwich Mean TimeCST:Central Standard Time   Demo:1 @Test 2publicvoid test1() { 3long time = Syst...

Java基础知识强化之IO流笔记36:FileReader/FileWriter(转换流的子类)复制文本文件案例02【代码】【图】

1. 转换流的简化写法:由于我们常见的操作都是使用本地默认编码,所以,不用指定编码。而转换流的名称有点长,所以,Java就提供了其子类供我们使用:FileReader / FileWriterOutputStreamWriter = FileOutputStream + 编码表(GBK)FileWriter = FileOutputStream + 编码表(GBK)InputStreamReader = FileInputStream + 编码表(GBK)FileReader = FileInputStream + 编码表(GBK)2. FileReader / FileWriter两者的构造方法:(1)FileR...

实战Java虚拟机之二:“虚拟机的工作模式”

原文:http://blog.itpub.net/29810963/viewspace-1544168/

java,压缩jar,查看jar,解压jar

1、压缩jar新建文件Mymoon.mf。内容:Manifest-Version: 1.0Main-Class: TestCreate-By: 1.4(Sun Microsystems Inc.)命令行在输入:jar cfm Test.jar Mymoon.mf A.java B.java。2、查看jar命令行在输入:jar tf Test.jar。3、解压jar命令行在输入:jar xf Test.jar。 原文:http://www.cnblogs.com/caiyingyong/p/7299604.html

针对JAVA中的值传递与引用传递

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/Norte_L/article/details/80250057 针对之前的模糊概念进行整理,按我的理解就是引用传递类似于C中的指针。一、基本类型和引用类型的理解Java中的数据类型分为两种为基本类型和引用类型。1、基本类型的变量保存原始值,所以变量就是数据本身。 常见的基本类型:byte,short,int,long,char,float,do...

JavaScript引用类型之RegExp类型(正则表达式)【代码】

ECMAScript中使用RegExp来支持正则表达式。使用下面类似Perl的语法,就可以创建一个正则表达式。var expression=/pattern/flags;如上代码:pattern ---pattern部分可以是任何简单或复杂的正则表达式,可以包含字符类、限定符、分组、向前查找以及反向引用。falgs ---每个正则表达式都可带有一个或多个标志(flags),用于标明正则表达式的行为;以下是正则表达式的匹配模式所支持的3个标志:g : 表示全局模式,即模式将被应用于所...

浅谈如何构建Java Web快速开发框架

我在我们应该怎样看待框架 中,实现了一个JDBC版的Base类,和一个Hibernate版的Base类,取模仿RoR的ActiveRecord,这样我们编程的时候,只需要实现一个Base的子类,就可以完成CRUD了。  我的毕设题目是与Rest ,更准确说是与ROA有关的,另外就是在看Spring MVC对于惯例优先 (Convention over Configuration,CoC)原则的实现。  Web架构的四个元素  无论是Rails还是Spring MVC都是MVC实现,因此我的研究也肯定是基于MVC模式的...

idea创建maven-archetype-webapp项目无java目录【图】

使用idea创建一个maven-archetype-webapp项目查看项目的目录结构,在main的目录下没有java目录在main目录下创建java目录使用快捷键 ctrl+alt+shift+s打开项目体系结构,或者点击右上角的这个图标进行如下配置选中创建的java目录,然后点击蓝色文件夹图标source,再然后点击Apply即可完成后就可以看到下面的效果 原文:http://www.cnblogs.com/liaojie970/p/6430900.html

Java语法基础课后作业【代码】【图】

1、动手动脑运行它EnumTest.java,分析运行结果s和t分别引用的是SMALL和LARGE,枚举类型不是原始数据类型,s和u的赋值方式不同,但结果一样,列出它的所有值:SMALL,MEDIUM,LARGE。2、枚举类型的基本用法枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。 可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。3、...

Java 基础 Java平台的3个版本

Java平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版)、适用于桌面系统的JavaSE(Java Platform Standard Edition,Java标准版)和适用于企业级应用的JavaEE(Java Platform Enterprise Edition)。而JavaEE是一个开发企业级应用的规范和标准,在现在的企业级开发中最为常用,最受开发者的青睐。   参考资料JavaEE的相关技术原文:https://www.cnblogs.com/WJQ2017/p/8401382.html

java8 Lambda

Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。Lambda表达式还增强了集合库。 Java SE 8添加了2个对集合数据进行批量操作的包: java.util.function 包以及java.util.stream 包。 流(stream)就如同迭代器(iterator),但附加了许多额外的功能。在Lambda表达式中this是...

java多线程 21 : ReentrantReadWriteLock ,synchronized和ReentrantLock的对比【代码】

读写锁ReentrantReadWriteLock概述大型网站中很重要的一块内容就是数据的读写,ReentrantLock虽然具有完全互斥排他的效果(即同一时间只有一个线程正在执行lock后面的任务),但是效率非常低。所以在JDK中提供了一种读写锁ReentrantReadWriteLock,使用它可以加快运行效率。读写锁表示两个锁,一个是读操作相关的锁,称为共享锁;另一个是写操作相关的锁,称为排他锁。我把这两个操作理解为三句话:1、读和读之间不互斥,因为读操作...

java 集合(Vector)不做重点

Vector:    底层也是维护了一个Object数组,实现与ArrayList是一样的,    但其线程是安全的,效率低。除了比较老的系统,是不会用到的。笔试题:ArrayList 和 Vector 的区别。相同点:都是底层维护了一个Object数组。(看源码)不同点:ArrayList 是线程不同步地,操作效率高。(1.2)后来代替了Vector    Vector 线程同步的,操作效率低。(1.0) 原文:http://www.cnblogs.com/lifehrx/p/5797057.html

Idea不识别java文件(类文件显示橙色)困扰我多次的事情【图】

Idea不识别java文件(类文件显示橙色)1.点击File --> Project Structure2.Modules 里 将Content Root删除再添加 这里先删除再添加 原文:https://www.cnblogs.com/jty10/p/12048969.html

深入理解java虚拟机(4)---类加载机制【代码】

类加载的过程包括:  加载class到内存,数据校验,转换和解析,初始化,使用using和卸载unloading过程。除了解析阶段,其他过程的顺序是固定的。解析可以放在初始化之后,目的就是为了支持动态加载。从java开发者来讲,我们并不关心具体细节,只要知道整个流程以及每个流程大体干了那些事情。每个流程具体对开发代码会有那些影响就可以了。一:类的加载流程1.加载loading  在加载过程中,虚拟机需要完成3件事情:1)通过一个类...

JavaSE学习笔记(二)——变量和数据类型【图】

一、 Java中的变量1.1 字面值的概念 字面值是内存中的一块空间,这块空间存放有值,并且这个值是有类型的。如:在内存中的某个空间存放着100的值,类型是整型。在内存的另一个空间存放着true,代表真,是布尔类型。 例子:字面值举例public class VariableTest01 { public static void main(String[] args){ // 整型字面值 System.out.println(100); // 字符串类...

javascript获取用户按了哪个键【代码】

浏览器好像不允许js获取F5这个键的按下事件,应该屏蔽了,这个键太过特殊,猜测可能是,防止用户失去对浏览器的控制?<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title><meta charset="utf-8" /> </head> <body onkeypress="checkKey(event)">dsfsdfasdfasdfa<script type="text/javascript">function checkKey(event) {keynum = window.event ? event.keyCode...

JavaScript数字精度上代码。

/**不能超过 9007199254740992 * floatObj 包含加减乘除四个方法,能确保浮点数运算不丢失精度 * * 我们知道计算机编程语言里浮点数计算会存在精度丢失问题(或称舍入误差),其根本原因是二进制和实现位数限制有些数无法有限表示 * 以下是十进制小数对应的二进制表示 * 0.1 >> 0.0001 1001 1001 1001…(1001无限循环) * 0.2 >> 0.0011 0011 0011 0011…(0011无限循环) * 计算机里每种数据类型的存储是一个有限宽度,...