- 博客(27)
- 资源 (17)
- 收藏
- 关注
原创 java数据访问层核心代码封装
封装代码如下,package com.mischen.pay.common.core.dao.impl;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.commons.logging.Log;import o...
2020-03-29 10:23:14 938
原创 java基础访问层数据封装
直接上代码,package com.mischen.pay.common.core.dao;import java.util.List;import java.util.Map;import org.apache.ibatis.session.SqlSession;import org.mybatis.spring.SqlSessionTemplate;import com...
2020-03-29 10:11:05 732
原创 java建表核心基类实现,最基础的字段封装
最基础的实体封装,以后所有的需要的实体都可以继承他直接使用,如果需要在网络中传输或者持久化,就需要实现序列化接口,核心基础实体类如下所示:package com.mischen.pay.common.core.entity;import java.io.Serializable;import java.util.Date;import com.mischen.pay.common...
2020-03-29 10:06:19 767
原创 https请求核心代码实现,包括证书认证
直接上代码,如下:package com.mischen.pay.common.core.utils.httpclient;import org.apache.commons.io.output.ByteArrayOutputStream;import org.apache.log4j.Logger;import javax.net.ssl.*;import java.io.*...
2020-03-29 09:35:41 1195
原创 java中为什么要定义枚举?以及定义枚举的好处?枚举代码示例/* * ================================================================
枚举的本质实际上是一种多例模式,枚举中可以定义各种类型,在开发中使用枚举主要是考虑到线程安全,代码如下:package com.mischen.pay.common.core.enums;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/...
2020-03-29 09:07:13 1073
原创 zookeeper实现分布式锁的原理?
1.客户端对某个方法加锁时,在 zk 上的与该方法对应的指定节点的目录下,生成一个唯一 的瞬时有序节点 node1; 2.客户端获取该路径下所有已经创建的子节点,如果发现自己创建的 node1 的序号是最小 的,就认为这个客户端获得了锁。 3.如果发现 node1 不是最小的,则监听比自己创建节点序号小的最大的节点,进入等待。4.获取锁后,处理完逻辑,删除自己创建的 node1...
2020-03-28 11:00:07 604
原创 什么是https?http与https的区别?
HTTPS 和 HTTP 的区别主要如下: 1)https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。 2)http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。 3)http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者 是 80,后者是 443。 4)http 的连接很简单,是无状态的...
2020-03-28 09:57:22 1114
原创 利用Collections.sort给对象排序,查找对象里面自己想要的值(核心代码逻辑实现)
直接上代码,根据我多年的工作经验,下面这段代码经过改编,有可能会经常用到,如下:package com.itmuch.cloud.test;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * @author...
2020-03-27 23:16:21 691
原创 怎样快速拿到list中的最小值
本文使用jdk1.8中的流式算法,代码简洁,比之前for效率提高了不少,代码如下:package com.itmuch.cloud.test;import java.util.ArrayList;import java.util.List;/** * @author:mischen * @date:2020/3/27 22:02 */public class TestLis...
2020-03-27 22:18:13 5496
原创 java1.8使用stream流快速拿到集合中的最大值或者最小值或者某个对象的案例分析
直接上代码,截图如下:package com.itmuch.cloud.test;import java.util.ArrayList;import java.util.List;/** * @author:mischen * @date:2020/3/27 22:02 */public class TestList { public static void ma...
2020-03-27 22:15:30 12604
原创 常见的网络攻击?
1.SYN Flood 攻击 关于 SYN Flood 攻击。一些恶意的人就为此制造了 SYN Flood 攻击——给服务器发了 一个 SYN 后,就下线了,于是服务器需要默认等 63s 才会断开连接,这样,攻击者就可以 把服务器的 syn 连接的队列耗尽,让正常的连接请求不能处理。于是,Linux 下给了一个叫 tcp_syncookies 的参数来应对这个事——当 SYN 队列...
2020-03-23 22:03:04 754
原创 java中的安全加密
11.1 数字签名 2.验证过程发送者:将报文通过 hash 算法生成摘要,用私钥加密生成签名。 接收者:使用公钥解密数字签名,得到摘要 A,再对报文进行 Hash 算法得到摘 要 B,比较 A 和 B,一致则表示没有被修改。 11.2 数字证书 数字证书则是由证书认证机构(CA, Certificate Authority)对证书申请者真 实身份验证之后,用 CA 的根证...
2020-03-23 22:01:39 727
原创 Java 中是否可以覆盖(override)一个 private 或者是 static 的方法?
Java 中 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法 是编译时静态绑定的。static 方法跟类的任何实例都不相关,所以概念上不适用。 java 中也不可以覆盖 private 的方法,因为 private 修饰的变量和方法只能在当前类中使用, 如果是其他的类继承当前类是不能访问到 private 变量或方法的,当然也不能覆盖。...
2020-03-22 09:09:49 983
原创 java中什么是自动装箱与拆箱
自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比 如:把 int 转化成 Integer,double 转化成 Double,等等。反之就是自动拆箱。 原始类型: boolean,char,byte,short,int,long,float,double 封装类型:Boolean,Character,Byte,Short,Integer,Long,Fl...
2020-03-22 08:38:28 343
原创 synchronized锁和lock锁的区别?
方法锁主要包括:synchronized锁和lock锁区别:1)Lock是一个接口,而synchronized是Java中的关键字;2)synchronized当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,不能够响应中断,(释放:1执行完线程自动释放2发生异常jvm让线程释放)((比如调用sleep方法)),这样的好处是不会导致死锁现象发生...
2020-03-21 09:36:42 2691
原创 举例说明什么情况下会更倾向于使用抽象类而不是接口?
接口和抽象类都遵循”面向接口而不是实现编码”设计原则,它可以增加代码的灵活性, 可以适应不断变化的需求。下面有几个点可以帮助你回答这个问题: 在 Java 中,你只能继承一个类,但可以实现多个接口。所以一旦你继承了一个类,你就 失去了继承其他类的机会了。 接口通常被用来表示附属描述或行为如:Runnable、Clonable、Serializable 等等,因此当你 使用抽象类...
2020-03-21 09:23:58 2181
原创 java 中垃圾收集的方法有哪些?
1. 标记-清除: 这是垃圾收集算法中最基础的,根据名字就可以知道,它的思想就是标记哪些要被 回收的对象,然后统一回收。这种方法很简单,但是会有两个主要问题:1.效率不 高,标记和清除的效率都很低;2.会产生大量不连续的内存碎片,导致以后程序在 分配较大的对象时,由于没有充足的连续内存而提前触发一次 GC 动作。 2. 复制算法: 为了解决效率问题,复制算法将可用内存按容量...
2020-03-21 09:14:29 820
原创 简述分代垃圾回收器是怎么工作的?
分代回收器有两个分区:老生代和新生代,新生代默认的空间占比总空间的 1/3,老生代的默认占比是 2/3。新生代使用的是复制算法,新生代里有 3 个分区:Eden、To Survivor、From Survivor,它们的默认占比是 8:1:1,它的执行流程如下:把 Eden + From Survivor 存活的对象放入 To Survivor 区;清空 Eden 和 From Survi...
2020-03-16 21:32:54 1767
原创 Synchronized和ReentrantLock的实现原理有什么不同
其 实 , 锁 的 实 现 原 理 基 本 是 为 了 达 到 一 个 目 的 :让 所 有 的 线 程 都 能 看 到 某 种 标 记 。Synchronized 通 过 在 对 象 头 中 设 置 标 记 实 现 了 这 一 目 的 , 是 一 种 JVM原 生 的 锁 实 现 方 式 , 而 ReentrantLock 以 及 所 有 的 基 于 Lock 接 口 的实 现 类 , ...
2020-03-15 10:28:27 549
原创 什么是AQS ?
AQS( AbstractQueuedSynchronizer 类 ) 是 一 个 用 来 构 建 锁 和 同 步 器的 框 架 , 各 种 Lock 包 中 的 锁 ( 常 用 的 有 ReentrantLock、ReadWriteLock) , 以 及 其 他 如 Semaphore、 CountDownLatch, 甚至 是 早 期 的 FutureTask 等 , 都 是 基...
2020-03-15 10:21:33 344
原创 为 什 么 说 Synchronized 是 非 公 平 锁
非 公 平 主 要 表 现 在 获 取 锁 的 行 为 上 , 并 非 是 按 照 申 请 锁 的 时 间 前 后 给 等待 线 程 分 配 锁 的 , 每 当 锁 被 释 放 后 , 任 何 一 个 线 程 都 有 机 会 竞 争 到 锁 ,这 样 做 的 目 的 是 为 了 提 高 执 行 性 能 , 缺 点 是 可 能 会 产 生 线 程 饥 饿 现 象 。...
2020-03-15 10:15:38 5896 5
原创 线程池创建的具体流程分析(面试重点)
线 程 池 默 认 初 始 化 后 不 启 动 Worker, 等 待 有 请 求 时 才 启动 。每 当 我 们 调 用 execute() 方 法 添 加 一 个 任 务 时 , 线 程 池 会 做 如 下 判断 : 如 果 正 在 运 行 的 线 程 数 量 小 于 corePoolSize, 那 么 马 上 创 建 线 程 运 行这 个 任 务 ; ...
2020-03-14 08:59:26 611
原创 什么是泛型以及泛型的作用?
泛型是java 1.5之后推出来的新特性,他的出现是为解决对象向下转型所带来的一些安全隐患。其本质思想是:类的属性或者方法的参数都是可以由用户在使用的时候动态设置的,简单归纳来,泛型其实就是在定义类、接口、方法的时候不局限地指定某一种特定类型,而让类、接口、方法的调用者来决定具体使用哪一种类型的参数。...
2020-03-07 10:11:58 2299
原创 zuul和Spring Cloud Gateway的比较
1.开源组织不同。Spring Cloud Gateway 是 Spring Cloud 微服务平台的一个子项目,属于 Spring 开源社区,依赖名叫:spring-cloud-starter-gateway。https://spring.io/projects/spring-cloud-gatewayZuul 是 Netflix 公司的开源项目,Spring Cloud 在 N...
2020-03-03 21:34:01 5184
apache-tomcat-6.0.18.exe
2016-07-11
MyEclipse10.1破解工具及方法图解.zip
2016-07-10
commons-logging-1.2-bin.zip
2016-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人