
java基础
文章平均质量分 60
严严严的博客
做一些技术备案,方便学习
展开
-
非常全面的lambda表达式对List集合去重、分组、排序、过滤、求和、最值方法工具类
我们经常会对list集合去重,于是我自己花了点时间将如何用 lambda表达式对list集合去重做了封装和测试,方便以后快速使用。包括对对象集合中的某个属性去重等。如果有特殊的list去重要求,可以自行对下列方法进行修改。下列方法是本人验证过比较简便的写法,请参考:import java.util.*;import java.util.concurrent.ConcurrentHashMap;import java.util.function.Function;import java.util.f原创 2020-06-05 14:15:00 · 47354 阅读 · 2 评论 -
根据时间或时间字符串获取星期几
1、根据时间2、根据时间字符串转载 2017-08-29 14:09:23 · 1752 阅读 · 0 评论 -
Java的对象布局和对象头以及证明
由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这些标记字段组成了对象头。一、对象头java的对象头由以下三部分组成:1、Mark Word2、指向类的指针3、数组长度(只有数组对象才有)1、Mark WordMark Word这部分主要用来存储对象自身的运行时数据,如hashcode、gc分代年...原创 2019-12-20 15:48:31 · 478 阅读 · 0 评论 -
Java动态代理
反射机制Java语言提供的一种基础功能,通过反射,我们可以操作这个类或对象,比如获取这个类中的方法、属性和构造方法等。动态代理:分为JDK动态代理、cglib动态代理(spring中的动态代理)。静态代理预先(编译期间)确定了代理者与被代理者之间的关系,也就是说,若代理类在程序运行前就已经存在了,这种情况就叫静态代理动态代理代理类在程序运行时创建的代理方式。也就是说,代理类并不是在Ja...原创 2019-12-06 10:40:44 · 189 阅读 · 0 评论 -
java类加载器和双亲委派加载机制
java类加载器分类详解1、启动类加载器(Bootstrap ClassLoader):也叫根类加载器,加载对象是java的核心类库,把一些核心的Java类加载进JVM中,这个加载器使用原生代码C/C++实现,并不是继承java.lang.ClassLoader,它是所有其他类加载器的最终父类加载器,负责加载<JAVA_HOME>/jre/lib目录在JVM指定的类库。其实它属于JV...原创 2019-12-03 16:18:36 · 210 阅读 · 0 评论 -
简述cookies和session的区别
区别:1、数据存放位置不同:cookie数据存放在客户的浏览器上,session数据放在服务器上。2、安全程度不同:cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。3、性能使用程度不同:session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。...原创 2019-11-29 15:24:21 · 396 阅读 · 0 评论 -
== 和 equals区别
一、 public static void main(String[] args) { String a = "hello"; String b = "hello"; System.out.println(a==b);//true System.out.println(a.equals(b));//true ...原创 2019-09-12 10:52:54 · 126 阅读 · 0 评论 -
JAVA枚举 enum
一、介绍java 枚举类型的基本想法非常简单:这些类通过共有的静态final域为每个枚举常量导出一个实例。1、枚举类型没有可以访问的构造器,所以它是真的final类,仅仅有private构造器。2、客户端不能创建枚举类型的实例,也不能对它进行扩展,因此不存实例,而只存在声明过程的枚举常量。也就是枚举类型是实例受控的。3、它们是单例(Singleton)的范型化,本质上是单元素的枚举。枚...原创 2019-09-11 10:32:22 · 191 阅读 · 0 评论 -
java创建一个可执行的jar包小程序
首先有两个概念需要清楚:1、idea打包java可执行jar包:http://www.cnblogs.com/blog5277/p/5920560.html2、Java中String [] args中的args是什么意思:https://blog.youkuaiyun.com/qq_35603268/article/details/79206028以上两个请参考博客链接内容。创建一个java基础工程,...原创 2018-12-03 11:33:37 · 1423 阅读 · 0 评论 -
Session Cookie的HttpOnly和secure属性
一、属性说明:1 secure属性当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。2 HttpOnly属性如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Co...原创 2018-11-05 17:36:14 · 15421 阅读 · 0 评论 -
分布式唯一id:snowflake算法思考
参考博客:https://blog.youkuaiyun.com/lirenzuo/article/details/79308098/** * @Description: * @Author * @Date 2018/10/29 10:26 * Twitter_Snowflake<br> * SnowFlake的结构如下(每部分用-分开):<br> * 0 - 0000...转载 2018-10-29 11:43:12 · 207 阅读 · 0 评论 -
java中String字符串的替换函数:replace与replaceAll的区别
1>replace的参数是char和CharSequence,既可以支持字符替换,也可以支持字符串替换。 2>replaceall参数是regex, replacement,regex表示是正则表达式。replace :String src = new String("ab43a2c43d");System.out.println(src.replace("3","f...原创 2018-09-12 10:28:51 · 16088 阅读 · 0 评论 -
java通过过滤器设置项目路径
1、过滤器代码:package com.self.filter;import java.io.IOException;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;public class ContextPathVariableFilter implements Filter {原创 2018-02-07 13:10:53 · 2694 阅读 · 0 评论 -
Java 获取环境变量及获取和设置系统变量
1、Java 获取环境变量Java 获取环境变量的方式很简单: System.getEnv() 得到所有的环境变量 System.getEnv(key) 得到某个环境变量的值Map map = System.getenv(); Iterator it = map.entrySet().iterator(); while(it.hasNext()) { Entry entry =转载 2018-01-12 10:08:29 · 3969 阅读 · 0 评论 -
面对对象的特征--含多态代码
成员变量限定词的含义:static: 静态变量(类变量) final: 常量;transient: 暂时性变量,用于对象存档,用于对象的串行化 volatile: 贡献变量,用于并发线程的共享 方法的实现也包括两部分内容:方法声明和方法体。 方法声明 方法声明中的限定词的含义:static: 类方法,可通过类名直接调用 abstract: 抽象方法,没有方法体 final: 方法不原创 2017-05-08 11:12:51 · 361 阅读 · 0 评论 -
java 中逻辑运算符&与&&,|与||
一、&与&&的异同点。相同点:二者都表示与操作,当且仅当运算符两边的操作数都为true时,其结果才为true,否则为false。 不同点:在使用&进行运算时,不论左边为true或者false,右边的表达式都会进行运算。如果使用&&进行运算时,当左边为false时,右边的表达式不会进行运算,因此&&被称作短路与。二、|与||的异同点。相同点:二者都表示或操作,当运算符两边的操作数任何一边的值为tru原创 2017-05-11 15:48:19 · 410 阅读 · 0 评论