-
JDBC
// Oracle String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://地址:端口(默认3306)/数据库名?useUnicode=true&characterEncoding=utf8"; //MySql String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@地址:端口(默认1521):数据库名"; //Sql Server 2000 String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String url = "jdbc:microsoft:sqlserver://地址:端口(默认1433);DatabaseName=数据库名;"; // Sql Server 2005 String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String url = "jdbc:sqlserver://地址:端口(默认1433);databaseName=数据库名"; String user = "登录名"; String password = "密码"; Class.forName(driver); Connection conn = DriverManager.getConnection(url, user, password);
-
取值范围
public static void main(String[] args) { byte maxByte = 0x7f; byte minByte = (byte)0x80; System.out.println("maxByte = " + maxByte + ", minByte = " + minByte); short maxShort = 0x7fff; short minShort = (short) 0x8000; System.out.println("maxShort = " + maxShort + ", minShort = " + minShort); int maxInt = 0x7fffffff; int minInt = 0x80000000; System.out.println("maxInt = " + maxInt + ", minInt = " + minInt); long maxLong = Long.decode("0x7fffffffffffffff"); long minLong = Long.decode("-0x8000000000000000"); // bug?! 应该不需要再添加-号的 System.out.println("maxLong = " + maxLong + ", minLong = " + minLong); // float表示方式(32bit): 1bit(符号位, S) + 8bit(指数位, 无符号, E) + 23bit(尾数位, M) // 指数位为127的偏移值. 如00000001 = 1 - 127 = -126; 11111110 = 254 - 127 = 127; // 当指数位为11111111(255)时, 用于表示NaN,正负无穷数.具体见下列相关代码 // float计算: 符号位 * (2^指数位) * 尾数位 // 最大正单精度浮点数 0 11111110 1111111111111111111111111 float maxPositiveNumber = Float.intBitsToFloat(0x7f7fffff); // 最小正单精度浮点数 0 00000001 0000000000000000000000000 float minPositiveNumber = Float.intBitsToFloat(0x08000000); System.out.println("maxPositiveNumber = " + maxPositiveNumber + ", minPositiveNumber = " + minPositiveNumber); // 0. IEEE754规定 E=0, M=0, 则值为0. // 正0: 0 00000000 00000000000000000000000 float positiveZero = Float.intBitsToFloat(0x00000000); // 负0: 1 00000000 00000000000000000000000 float negativeZero = Float.intBitsToFloat(0x80000000); System.out.println("positiveZero = " + positiveZero + ", negativeZero = " + negativeZero); // 最大负单精度浮点数 1 00000001 0000000000000000000000000 float maxNegativeNumber = Float.intBitsToFloat(0x88000000); // 最小负单精度浮点数 1 11111110 1111111111111111111111111 float minNegativeNumber = Float.intBitsToFloat(0xff7fffff); System.out.println("maxNegativeNumber = " + maxNegativeNumber + ", minNegativeNumber = " + minNegativeNumber); // NaN, 非数值. E=255 M<>0 // 例子: 0 11111111 00000000000000000000001 float NaN = Float.intBitsToFloat(0x7f800001); System.out.println("nan = " + NaN); // 正无穷 S=0, E=255, M=0. 0 11111111 00000000000000000000000 float POSITIVE_INFINITY = Float.intBitsToFloat(0x7f800000); // 负无穷 S=1, E=255, M=0. 1 11111111 00000000000000000000000 float NEGATIVE_INFINITY = Float.intBitsToFloat(0xff800000); System.out.println("POSITIVE_INFINITY = " + POSITIVE_INFINITY + ", NEGATIVE_INFINITY = " + NEGATIVE_INFINITY); /* Consider the bit representation of an IEEE-754 binary64 format: s_eee_eeee_eeee_mmmm_mmmm_mmmm_mmmm_mmmm_mmmm_mmmm_mmmm_mmmm_mmmm_mmmm_mmmm_mmmm IEEE-754 binary64 values are derived as such: If e is more than 0 and less than 2047 (2047 is 111_1111_1111 in binary), then value is equal to (-1)s × 2e-1023 × (1 + m × 2-52). (These are the normal numbers.) If e equals 0, then value equals (-1)s × 2(e+1)-1023 × (0 + m × 2-52). (Besides zero, these are the subnormal numbers.) If e equals 2047 and m equals 0, then value equals (-1)s × infinity. If e equals 2047 and m not equals 0, then value equals NaN. (Unrelated fact: thus there is 2 × (252 - 1) different bit representations for NaN; cf. doubleToRawLongBits.) Therefore, the smallest positive IEEE-754 binary64 normal number is equal to: (-1)0 × 21-1023 × (1 + 0 × 2-52) = 2-1022 And the smallest positive IEEE-754 binary64 subnormal number is equal to: (-1)0 × 2(0+1)-1023 × (0 + 1 × 2-52) = 2-1022 × 2-52 = 2-1074 */ }
-
url参数处理
URL特殊符号及对应的十六进制值编码: 1. + URL 中+号表示空格 %2B 2. 空格 URL中的空格可以用+号或者编码 %20 3. / 分隔目录和子目录 %2F 4. ? 分隔实际的 URL 和参数 %3F 5. % 指定特殊字符 %25 6. # 表示书签 %23 7. & URL 中指定的参数间的分隔符 %26 8. = URL 中指定参数的值 %3D 将获取参数的方法从request.getParameter()改为request.getQueryString(), 然后对获取的字符串进行另外解析.
-
java文件路径空格及中文处理
TestURL().class.getResource("").getPath()或TestURL().class.getResource("").getFile()获得的路径,不能被FileReader()和FileWriter()直接应用。 原因是URL对空格,特殊字符(%,#,[]等)和中文进行了编码处理。 例如:空格变为%20。 方法(1),使用repaceAll("%20",' ')替换后,只能解决空格问题。但是路径中包含%和中文就不行了。 方法(2),使用URLDecoder.decode(str,"UTF-8")解码,但是只能解决一部分,若路径中含有+,也是不能解决的,原因是URL并不是完全用URLEncoder.encode(str,"UTF-8")编码的,+号被解码后,却变成了空格。 方法(3),可以解决所有的问题,用TestURL().class.getResource("").toURI().getPath(),但是需要处理URISyntaxException异常,比较麻烦点。
- joda time
// 计算时间差 long ms = (long)(3.33 * 12 * 30 * 24 * 60 * 60 * 1000) ; System.out.println(ms); // 103576319999 DateTime dt1 = DateTime.now(); DateTime dt2 = dt1.plus(ms); log(Years.yearsBetween(dt1, dt2).getYears(), // {int} 3 Months.monthsBetween(dt1, dt2), // {Months} P39M Days.daysBetween(dt2, dt1), // {Days} P-1198D Seconds.secondsBetween(dt2, dt1).getSeconds()); // {int} -103576319 Period p = new Period(ms); // 根据一段时长创建Period log(p.getYears() , p.getMonths(), p.getDays(), // 0 0 0 p.getHours(), p.getMinutes(), p.getSeconds()); // 28771 11 59 p = new Period(dt1, dt2); // 根据两个时间创建Period log(p.getYears() , p.getMonths(), p.getDays(), // 3 3 3 p.getHours(), p.getMinutes(), p.getSeconds()); // 19 11 59
相关推荐
专业的Java笔记可能会涉及这些内容,帮助学习者掌握Java的最新发展。 遗憾的是,由于【部分内容】部分不包含实际的笔记内容,无法进一步提供具体的编程示例和深入的解释。如果要学习Java,最好的方式是从学习Java的...
java笔记java笔记java笔记java笔记java笔记java笔记java笔记
【宋红康java笔记】是一份综合性的Java学习资料,由知名编程教育者宋红康编撰。这份压缩包文件包含了大量的Java编程知识点,旨在帮助初学者和有经验的开发者深入理解和掌握Java语言的核心概念与高级特性。以下是根据...
这份"非常好的java笔记"无疑是初学者踏入这个领域的宝贵资源。笔记由培训班的专业老师编写,内容详细且全面,旨在帮助初学者系统地学习和理解Java的基础知识。 首先,Java基础部分会涵盖变量、数据类型、运算符、...
《狂神说Java笔记资料》是一份全面涵盖Java开发基础知识的文档集,旨在帮助学习者系统地掌握Java编程。这份笔记包含多个章节,每个章节都深入讲解了一个特定的主题,覆盖了从初学者到进阶开发者必备的知识点。 1. *...
马士兵JAVA笔记(全) 本资源是马士兵的JAVA笔记,涵盖了JAVA语言的基础知识,包括标识符、常量、变量、数据类型、运算符、控制流语句等。 标识符是JAVA中的一种符号,用于命名变量、方法、类等。标识符由字母、...
【标题】"韩顺平java笔记完整版.zip(无笔记,只是代码)"指的是一个包含韩顺平老师Java教学视频中所有代码的压缩文件。这个压缩包不包含笔记,而是专注于提供实际的编程示例,使得学习者可以直接查看和学习Java编程...
这份"18天Java笔记"提供了一个快速学习Java的核心内容精华,适合初学者和有一定经验的开发者进行回顾和巩固。txt版的格式使得笔记易于阅读和在不同设备上分享。 Java的基础知识包括语法、数据类型、控制流、类与...
【标题】:“韩顺平java笔记完整版”是著名IT教育家韩顺平关于Java编程的全面学习资料,涵盖了从基础到高级的Java知识体系。 【描述】:这份笔记是韩顺平老师教学经验的结晶,旨在帮助学习者系统地理解和掌握Java...
"java笔记全套下载" 提供的可能是一系列详细的学习资料,涵盖了从基础到高级的Java知识体系,帮助学习者系统地掌握这门语言。 Java的基础知识包括: 1. **Java语法**:了解变量、数据类型、运算符、流程控制(如if-...
全套java笔记整理,侧边栏目录结构方便查看,纯手工整理。达内笔记整理。 已整理成带侧边栏目录的网页结构,方便复习大纲和跳转查看。大部分都带有笔记代码。 (默认设置为深珊瑚蓝色调,不喜欢可以把配置文件里的...
【Java笔记桌面程序】 在IT领域,开发个人定制的桌面应用程序是解决特定需求的有效方法。本项目名为"Java笔记桌面程序",它是由一个热衷于编程的开发者为解决其所在公司无法使用网络笔记客户端的问题而自创的。这个...
2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 枚举类 2020-4-10 java 注解(Annotation) 2020-4-11 ...
韩顺平java笔记整理,整理了韩顺平java上课的视频的代码笔记,以及归纳总结
### Java基础知识概述 #### 1. 前言 Java是一种广泛使用的面向对象的编程语言,因其跨平台性、安全性和强大的功能而受到欢迎。Java的设计理念是“一次编写,到处运行”,这意味着编写的Java程序可以在任何安装了...
达内是一家知名的教育机构,其整理的Java笔记通常会覆盖从基础到进阶的各种主题,以系统化的方式帮助学员掌握这门广泛使用的编程语言。 首先,Java的基础知识是必不可少的,这些笔记可能包括变量、数据类型、运算符...
标题中的“全套java笔记数据库部分”表明这是一份关于Java编程语言中数据库操作的全面学习资料,涵盖了从基础到进阶的各种主题。描述提到“最新的全套javaEE开发笔记”,暗示了这些笔记可能针对的是Java企业版(Java...
- 文件I/O操作:使用`java.io`包,如`FileWriter`和`BufferedReader`,将笔记内容写入和读取文件。可能需要JSON或XML序列化技术来保存额外的元数据,如撤销历史。 - 文件对话框:`JFileChooser`类提供了一种让用户...