
Java SE基础知识
指尖弯刀
这个作者很懒,什么都没留下…
展开
-
jdk1.8 HashMap put和resize基本原理
数据结构是:数组+链表+红黑树1、putVal 插入值:得到数组下标索引值, 如果数据下标处为null,则放入该位置, 如果不为空,判断key是否相等, 如果相等,则覆盖val, 如果不等,则判断节点类型是否树节点, 如果是则放入数节点中, 如果不是,即为链表,循环链表比对key值, 如果key相同则覆盖,没有相同...原创 2021-03-20 23:40:32 · 1263 阅读 · 5 评论 -
jvm 系统参数JAVA_OPTS
JAVA_OPTS="-Xmx4g -Xms4g -Xmn2g -Xss512k -XX:SurvivorRatio=8 -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/yuanian/app/java_heapdump.hprof"-XX:SurvivorRat...原创 2021-03-08 15:34:04 · 385 阅读 · 0 评论 -
Java 将JSONObject 复制一个新的JSONObject对象
JSONObject fys = new JSONObject(); fys.put("11","22"); JSONObject fys2 = JSONObject.parseObject(fys.toJSONString());将json对象转为字符串,将字符串重新构建 JSONObject原创 2020-07-03 10:46:37 · 12078 阅读 · 0 评论 -
ThreadLocal 对 SimpleDateFormat的高并发线程安全问题使用
高并发下才会出现异常private static final ThreadLocal<DateFormat> df = new ThreadLocal<DateFormat>() { @Override protected DateFormat initialValue() { return new SimpleDateFormat...原创 2020-02-27 20:06:56 · 215 阅读 · 0 评论 -
Java 使用EasyExcel批量导入excle数据到Oracle数据库
1、读取excel数据,插入Oracle数据库。2、使用数据100万条。测试100万条数据的插入Oracle数据库 批处理条数 时间 2500 50466毫秒 2500 59945毫秒 2500 55605毫秒 2000 51228毫秒 2000 57499毫秒 3000 52740毫秒 5000...原创 2019-12-13 14:45:48 · 1797 阅读 · 0 评论 -
eclipse 配置项目指定编译jdk版本
讲真的,这里在这里设置项目的jdk编译版本还真的以前都没有注意过。。原创 2018-06-19 16:33:09 · 671 阅读 · 0 评论 -
Java 批量修改 Windows 中文件名
package cn.com.files;import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @author YangXB * @version 1.0v * @C...原创 2018-06-17 12:29:04 · 331 阅读 · 0 评论 -
Java 单点登录
。。。。。。。。。转载文章。。。。。。。。。。(2017-09-22更新)GitHub:https://github.com/sheefee/simple-sso一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应...转载 2018-06-24 16:57:33 · 3523 阅读 · 2 评论 -
Java 接口解释
Java 接口 是构建松耦合软件系统的重要法宝总结:通俗的讲,你认为是要变化的东西,就放在你自己的实现中,不能放在接口中去,接口只是对一类事物的属性和行为更高层次的抽象。对修改关闭,对扩展(不同的实现 implements)开放,接口是对开闭原则的一种体现。1、接口的方法默认是public abstract2、接口中不可以定义变量即定义的变量前都要加上final修饰,使之成为常量(没有final修...转载 2018-06-24 16:29:55 · 353 阅读 · 0 评论 -
eclipse配置beans.xml中标签提示 XML schema
eclipse配置beans.xml中标签提示 XML schema1、如下是xml文件的头:<xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XM...原创 2018-07-31 23:24:35 · 1980 阅读 · 0 评论 -
Java Integer.highestOneBit(i);
public static int highestOneBit(int i) { // HD, Figure 3-1 i |= (i >> 1); i |= (i >> 2); i |= (i >> 4); i |= (i >> 8); i |= ...原创 2018-09-27 14:45:23 · 125 阅读 · 0 评论 -
log4j 文件
log4j.rootLogger=INFO, DEBUG, Console, stdout#Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppender#log4j.appender.Console.Target = System.outlog4j.appender.Console.layout=org.apache.log4...原创 2018-11-30 15:40:17 · 143 阅读 · 0 评论 -
Java的 Math 方法 floor,round和ceil的总结
以一个数轴为例:floor 取值在左边;(向下取整)ceil 取值在右边;(向上取整)round 当前值+0.5,然后左边取值;(向下取整)原创 2019-03-04 15:11:12 · 413 阅读 · 0 评论 -
web下载实例写法
public class Down { @GetMapping("/a.htm") public void cooperation(HttpServletRequest request, HttpServletResponse response) { ServletOutputStream out = response.getOutputStream(); ...转载 2019-06-11 14:59:59 · 436 阅读 · 0 评论 -
程序员:必看-必学-必会:(3B)颈椎病康复指南
玛德,轻轻就要学习康复指南了1、双掌擦颈8,再捏2、左顾右盼3秒3、前后点头3秒2个8拍4、旋肩舒颈20-305、颈项争力,手和头向相反方向6、转脑袋,5次7、头手相抗 ,5次8、仰头望掌9、放眼观景,转眼睛,搓手捂眼睛10、按摩合谷穴...原创 2019-07-24 00:08:50 · 1072 阅读 · 0 评论 -
Java正则表达式 做校验验证字符串中全是字符和数字组成
验证字符串中全是字符和数字组成 String regex = "^[a-zA-Z0-9-]+$"; Pattern pattern = Pattern.compile(regex); Matcher match = pattern.matcher("612356032223"); System.out.println(mat...原创 2018-03-26 23:53:44 · 4992 阅读 · 0 评论 -
Java 获取指定格式字符串的时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); System.out.println(sdf.format(c.getTime())); Date nowTime = new Date(System.cur...原创 2018-03-26 23:51:34 · 1479 阅读 · 0 评论 -
Java陷阱之assert关键字
Java陷阱之assert关键字 一、概述 在C和C++语言中都有assert关键,表示断言。在Java中,同样也有assert关键字,表示断言,用法和含义都差不多。 二、语法 在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候转载 2016-07-11 21:36:40 · 359 阅读 · 0 评论 -
awt和Swing
AWT(Abstract Window Toolkit):抽象窗口工具集,包括了建立GUI的各种组件与事件处理机制。Swing提供了丰富的组件,并且提供了独立于运行平台的GUI构造框架。Swing是纯Java实现的轻量级(Light-weight)组件,不依赖操作系统的支持,这是与AWT组件的最大区别。在不同的平台上都能够具有一致的显示风格,并且能够提供本地窗口系统不支持的转载 2016-10-16 10:01:00 · 594 阅读 · 0 评论 -
单例模式singleton
方法一:private static A a = null;private A(){}public static A getInstance(){if(a == null)a = new A();return a;}方法二:private volatile static A a = null;private A(){}public static原创 2016-10-30 23:49:23 · 195 阅读 · 0 评论 -
Java中的方法的重写与重载
重写: 1、用于父子类中多态性的表现 2、方法的修饰符级别不能缩小 3、返回值类型必须相同(或是其子类型) 4、参数列表必须一致 5、子类抛出异常(检查异常)不能扩大,子类可以抛出运行时异常(非检查异常)。 6、final、static方法不能被重写重载:1、是一个类中多态性的表现2、只能通过相同 方法名 和 不同原创 2016-10-29 20:50:48 · 251 阅读 · 0 评论 -
Java的常量
常量是一种标识符,它的值在运行期间恒定不变。并且常量在程序中只能被引用,而不能被重新赋值。Code:public class Math { //定义一个全局常量PI public static final double PI = 3.1415926; }转载 2016-07-16 12:10:41 · 317 阅读 · 0 评论 -
Java枚举
Java枚举 public class Test1 { public enum Season{ Spring("春天"),Summer("夏天"),Autumn("秋天"),Winter("冬天"); private String theSeason; //枚举的构造方法一定要私有,为了保证它的特性。 private Season(String s){原创 2016-11-29 16:46:52 · 284 阅读 · 0 评论 -
Java的工厂模式
1.抽象产品public interface Car { public void showMe();}2.具体产品public class Aodi implements Car {@Overridepublic void showMe() { System.out.println("我是奥迪"); }}public class Bmw implements Ca原创 2016-11-29 16:54:48 · 341 阅读 · 0 评论 -
-128 的 原码,反码,补码
C语言关于补码的解释及误区https://blog.youkuaiyun.com/snowsnowsnow1991/article/details/47445153参考网址:http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html1、如果用原码表示, 让符号位也参与计算, 显然对于减法来说, 结果是不正确的.这也就...原创 2016-07-06 20:35:19 · 37407 阅读 · 9 评论 -
自定义类重写equqls方法
要想使用自定义类的equals方法,就必须重写这个方法public class Person {private String name;private String sex;private int age;public Person() { super();}public Person(String name, String sex, int age) { super();原创 2017-10-13 15:25:05 · 423 阅读 · 0 评论 -
java泛型与c 语言之关系
如c语言中的宏定义:如下:运行结果是8。编译时是不会运算的,会等到运行时运算。C程序由源程序变为可执行文件的三个阶段是:预处理阶段,由预处理器对程序文本中的宏进行展开。编译阶段,由编译器对经过预处理后的程序进行编译,并生成目标文件链接阶段,则链接器对目标文件和用到的函数库文件进行链接,生成可执行文件。因此,宏展开是在预处理阶段完成的。 如下: 预处理时,进行宏展原创 2017-10-13 15:54:22 · 288 阅读 · 0 评论 -
eclipse官网下载收费 怎么办?
1、点击下面的download 按钮;2、看下的刷新按钮是不是在运行如果在运行就等着几分钟,就会弹出下载框;如果没有运行,就点击它,刷新界面。如果使用IE,并装有迅雷,他会自动启动迅雷下载。如果使用火狐,会使用火狐下载。重点 重点弹出下载框是要等几分钟的,不会立刻弹出下载框的来的。原创 2017-09-28 11:26:52 · 23322 阅读 · 8 评论 -
字符编码
1.ASCII 码 学过计算机的人都知道 ASCII 码,ASCII 码是美国标准信息交换代码(American Standard Code for Information Interchange)的缩写, 为美国英语通信所设计。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成。 总共有 128 个,用一个转载 2016-08-22 22:39:32 · 444 阅读 · 0 评论 -
监听回车键----在文本框中输入数据后,直接回车,调用查询、登陆事件
/** * 监听回车键---->查询功能 */jq(function () { document.onkeydown = function (e) { var ev = document.all ? window.event : e; if (ev.keyCode == 13) { queryMsg();//调用事原创 2018-01-31 10:35:50 · 2287 阅读 · 0 评论 -
Java 正则表达式 匹配括号中的数字
第一种: String line = "+!!!0(100000000073);+!!!0(100000000071);"; String pattern = "(?<=\\()\\d+(?=\\))"; pattern = "(\\d{16})"; Pattern r = Pattern.compile(pattern); M...原创 2018-03-09 10:55:40 · 9045 阅读 · 0 评论 -
java 正则表达式 匹配括号中的汉字
验证str字符串中是否包含 Test测试 字符串 private boolean validateCabin(String str){ Pattern p = Pattern.compile("Test测试");//正则表达式 Matcher m = p.matcher(str);//要验证的字符串 if (m.find()) { return tru...原创 2018-03-26 23:39:19 · 2085 阅读 · 0 评论 -
assert 是在 J2SE1.4 中引入的新特性
assert 是在 J2SE1.4 中引入的新特性, assertion 就是在代码中包括的布尔型状态,程序员认为这个状态是 true 。一般来说 assert 在开发的时候是检查程序的安全性的,在发布的时候通常都不使用 assert 。在 1.4 中添加了 assert 关键字和 java.lang.AssertError 类的支持。 首先,我们有必要从一个例子说起 assert转载 2016-07-11 18:17:39 · 321 阅读 · 0 评论