计算机基础
chengkui1990
Java开发
展开
-
Https 建立安全连接的过程(SSL原理)
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1、基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容。...转载 2018-09-11 15:34:36 · 1929 阅读 · 0 评论 -
equals和hashCode的关系,equals相等,hashCode就必须要相等吗?
我们经常听见hashCode相等,那么equals可以不相等,但是equals相等,那么hashCode就一定相等这2个定理,没有看源码的同学就会认为jdk保证了equals相等,那么hashCode就一定相等,但是事实真的是这样吗?答案是否定的,equals相等,hashCode也是可以不相等的,看下面的那个例子:package controller.abstractfactory;i...原创 2019-03-11 19:36:37 · 6767 阅读 · 0 评论 -
NIO案例详解
一、NIO解释:NIO官方的解释是NEW I/O,意思是相对与BIO(同步阻塞I/O)来说是全新的,但是大部分人更喜欢叫他no-block I/O(同步非阻塞I/O),因为他相对于BIO的最大改变就是非阻塞的,我们知道传统的Socket下的流都是阻塞I/O,也就是客户端的一个请求对应服务端的一个线程,并且这个线程是一直阻塞的直到请求结束,对于线程这种宝贵的资源来说,如果并发量太大同时处理线程又...原创 2019-01-18 14:17:38 · 760 阅读 · 0 评论 -
UDP简单实例
package com.ck.prefix;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/** * UDP传输的Server端 */public class UDPServer { ...原创 2019-01-07 20:35:08 · 391 阅读 · 0 评论 -
JDK的动态代理和Cglib的动态代理比较
1、讲动态代理之前,我们先了解下什么叫代理,从字面意思我们也能看出来意思就是代替某人做事情,看下面的例子:package eureka.server.proxy;public interface UserService { void printName();}这是一个UserService接口类;package eureka.server.proxy;publi...原创 2018-12-18 17:12:58 · 350 阅读 · 0 评论 -
二叉查找树的基本操作与实现(二叉链表实现)
package eureka.server.tree;public class BinarySearchTree<T extends Comparable> implements Tree<T>{ //根节点 protected BinaryNode<T> root; public BinaryNode<T> getR...原创 2018-12-14 15:58:10 · 544 阅读 · 0 评论 -
git常用操作命令
git config --global user.name "18521517220" --配置git用户名git config --global user.email "18521517220@163.com" --配置git邮箱git config --list --查看git配置信息ssh-keygen --生成公钥和私钥(密钥的存放位置:C:\Users\v_chengkui\...原创 2018-12-06 20:47:19 · 199 阅读 · 0 评论 -
源码解析ThreadLocal如何做到线程之间的数据隔离
前言: 我们都知道ThreadLocal能做到线程数据隔离,那么底层到底是怎么做到的,通过解析源码来一探究竟!首先我们来看看ThreadLocal的最重要的set方法,源代码如下: public void set(T value) { Thread t = Thread.currentThread(); ThreadLocalMap...原创 2018-12-05 11:34:13 · 1466 阅读 · 2 评论 -
Centos7关闭防火墙
查看防火墙的状态:systemctl status firewalld.service关闭防火墙:systemctl stop firewalld.service禁止开机启动防火墙:systemctl disable firewalld.service原创 2018-12-03 10:46:52 · 223 阅读 · 0 评论 -
Java如何捕获线程的非受检异常
考虑这样的一个问题:在主线程main方法里面,启动一个子线程,这个子线程抛出了一个非受检异常,那么我们如何捕获这个异常呢,可能大部分读者可能想在主线程里面使用try、catch的方法,像下面这样:package eureka.server.paixu;/** * 捕获java线程的非受检异常 */public class MyUncaughtExceptionHandler{...原创 2018-12-04 16:07:28 · 664 阅读 · 0 评论 -
Java排序之冒泡排序
动态图解: 代码实例:package eureka.server.paixu;import java.util.Arrays;/** * 冒泡排序 * */public class MaoPaosort { /** * 冒泡排序 * * @param array */ public static void...原创 2018-11-29 15:13:44 · 181 阅读 · 0 评论 -
centos忘记root或者用户密码,如何重新设置
最近在使用centos6.5系统,需要进入root根用户下去操作指令,可是输入su命令并输入密码后,一直提示密码错误,无论如何就是进入不了root下。应该是在虚拟机开始安装的时候,没有设置root密码,或者密码记错了。那么,遇到这种情况,如何在忘记root或者用户密码的情况下修改centos系统的密码呢? 查找资料后,经过实验操作,验证该方法确实有效,现将修改centos系统root或用户密码的...转载 2018-10-23 14:37:20 · 381 阅读 · 0 评论 -
Java排序之快速插入排序
1、快速插入排序交换法,从第2个元素依次和它前面的元素比较,如果后面的元素小于前面的元素,则交换位置,这个方法交换次数比较多 // 交换次数较多的实现 public static void insertionSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { //内层...原创 2018-10-22 20:58:03 · 910 阅读 · 0 评论 -
springBoot以外部tomcat作为容器方式部署启动
前言:springBoot采用约定大于配置的规则,使开发人员可以快速部署启动web项目,包括tomcat容器,springBoot启动时使用的是springBoot的内嵌容器,那么加入我们需要使用自定义的外部容器启动springBoot项目,那么应该这么实现呢?往下看!1、第一步: 打包方式设置成war:2、第二步:springBoot的启动类继承SpringBootS...原创 2019-04-11 18:51:52 · 700 阅读 · 0 评论