自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kangxidagege的博客

努力!只为了遇到更好的自己。

  • 博客(37)
  • 收藏
  • 关注

原创 Docker源码阅读 - goland环境准备

如需阅读对应版本的源码,可在docker, cli目录中 通过git checkout tag来切换代码版本,来阅读所需版本源码。首先在 GOPATH / src 下创建 github.com/docker 目录,然后 git clone cli moby 到这个目录,修改 moby 名称为 docker。tips: docker是从moby拷贝过去的;docker整体是一个C-S架构,cli客户端,docker服务端。docker 源码分为两部分 cli 和 moby(docker)

2023-08-11 17:03:13 951

原创 【Linux命令】su && sudo

sudo = Super user do 超级用户dosu = Shift/Switch user 切换用户1. susu命令是当前用户用来切换到另一个用户的命令,参数为用户名。执行时会要求输入密码,这个密码是你要切换到的用户的密码。注意,当你是root用户是,切换到本机的其他任何用户都是不需要输入密码的。2. sudo susudo su命令和su命令相似,都是用来切换用户的。区别就是两个命令需要输入的密码不一样。sudo su的含义就是要用root权限运行su命令,既然是用root权限运行su命令

2023-06-25 16:06:01 149

原创 浅谈单线程和多线程的异同

前两天有个面试,面试官问了我一个单线程和多线程的问题,情境如下:面试官:你对单线程和多线程有什么看法?我:面试官:我:面试官:我现在先让我们来了解一下进程和线程的基本概念:进程:1、进程是程序的一次执行;2、进程是一个程序及其数据在处理机上顺序执行时所发生的活动;3、进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个基本单位。注:进程和程序是不同的概念,进程是动态...

2023-06-25 11:55:00 254

原创 关于mysql8.0的下载安装和使用navicate对mysql进行管理

mysql的下载:1、直接进入mysql的官网选择community社区版、mysql community server服务器 进行选择,如下图所示x。2、选择mysql for windows进入到如下界面,即可下载最新的mysql。3、下载后安装步骤:https://blog.csdn.net/win_turn/article/details/73810837,注意...

2019-03-12 23:17:30 584

原创 C#窗体编程实现程序集查看器

前言:今天,没有话可说,直接上代码。题目描述: 效果展示:代码:From1.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using ...

2018-08-16 17:32:59 1339 2

原创 C#实现自定义的 LinkedList 和 ArrayList

前言:本篇文章是我在实习阶段的一道练习题,代码是我的思想加上导师的指导写出来的,我觉得对我的编程能力有一定的提高,因此我将代码分享出来,希望可以帮助那些需要的人。题目描述:简介:写一个链表的数据结构,要求实现IList<T>接口。具体要求:1、 使用代码规范。2、 至少对IList中的Add,Remove,Insert,Indexer,IEnumerator进行...

2018-08-10 18:17:40 1033

转载 hashmap和concurrentHashMap

转载自:https://blog.csdn.net/valada/article/details/79909905本次 Chat 内容包括:Hashmap 在 1.8 后有哪些变化,性能如何进行了大幅度提升? 红黑树和链表在哪些情况会相互转化? ConcurrentHashMap 在 1.8 后有哪些变化? 什么是 CAS,锁同步消耗资源和无锁算法究竟哪个更合适? 仿照 Concu...

2018-08-07 08:53:37 1006

原创 Java实现一个简单的爬虫

前言:这篇文章是我看了团长的一篇关于Java爬虫的文章之后,写的一个练习。代码中,实现了对京东网站的数据爬取、分析。程序结构图如下: 说明,关于代码的说明在代码中已经表述的很明白,这里不过多叙述。JdongMain是程序的入口、JdongBook对应京东上出售的书籍、URLHandle是对URL和client的处理,通过它返回经过加工的数据、HTTPUtils发送真正的HTTP请求...

2018-08-05 23:13:59 8357 6

转载 运维工程师的必备技能……

1什么是运维工程师 相信小伙伴们必定听说过linux,也听说过运维工程师。那么运维工程师是个什么概念呢? 百度百科上的官方解释如下: 运维工程师(Operations)在国内又称为运维开发工程师(Devops),在国外称为 SRE(Site Reliability Engineering)。负责维护并确保整个服务的高可用性,同时不断优化系统架构、提升部署效率、优化资源利用率...

2018-08-04 14:41:22 6408

原创 不同速度的蚂蚁跑圈相遇问题

前言:这是今天葡萄城老总问的一道智力题,我觉得很有意思,所以将我的解决思路分享出来,希望可以帮助需要的小伙伴 -_-。我喜欢用画图来表达一些事物,因此这道题我以画图的方式表现出来,题目如下图所示:题目描述:A、B、C、D表示四只蚂蚁,这四只蚂蚁在一个正方形的操场上跑步,它们的速度分别为1圈/分、1.5圈/分、2圈/分、2.5圈/分;求解:(1)十分钟后蚂蚁间两两相遇的次数(例...

2018-07-31 17:55:03 3075

原创 cvte2019秋招面试编程题

package package_20180720;/** * * @author 康茜 * 合并两个有序数组交(从大到小排序) * * 分析:合并两个有序数组,这里的关键点在于有序,如果是平常的合并数组的话,我们只需要用for循环将两个数组中的元素加入到一个数组中, *然后再对这个新数组进行排序(排序方式有很多中,选择合适的就行);但是现在我们多了一个条件 “有序”,即两个子数...

2018-07-30 12:48:13 10912 1

原创 一篇文章让你了解http的前生后世

前言这篇文章是关于我在看完《图解http》之后总结的一篇文章。文章主要是关于http协议的特点及从http到HTTPS的一个过渡,希望能够对你有所帮助。文章要点:http的特点、http的缺点、HTTPS的概念、SSL安全机制等等。http的诞生:在1989年那会儿,互联网还只属于少数人;为了方便这些人之间的通信,人们设计了一种拥有发布和接收HTML页面的方法,这就是http协议的原型...

2018-07-26 16:18:56 362 3

原创 处理处理字符串型大数加法问题

前言:最近好久没有写文章了,因为最近忙着期末考试,然而还是挂了一门英语(英语是硬伤啊-_-)…… 昨天,我去面试,面试官出了一道大数加法编程问题,因为是机试,所以当时觉得写得有些潦草,也没有注释,所以今天重新整理了一下思路,重新写了一遍。题目描述:给你两个用字符串表示的数字a 和 b,数字之中无非法字符(如abc、@#¥等字符),让我实现这两个整数的加法。分析:因为用a 和 b...

2018-07-20 11:42:33 740 1

原创 简单实现HashMap

前言:HashMap 是我们经常使用的一种数据结构,而且最近面试也经常被问到HashMap的底层原理,然后呢给面试官说的简单点他会觉得你学习不够深,然后说的复杂点,自己又觉得不切实际,因为自己本来就没有经历过那些场景,感觉自己很虚。因此今天,我先简单实现一下HashMap的最基本的功能。(目前未实现红黑树部分)代码:1、首先建立Map接口和存储元素的Entry接口package MyHashMap...

2018-06-28 02:17:30 331

原创 项目错误总结

1、Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cd.mapper.UserMapper.insert问题分析:这是在ssm项目整合时(mybatis部分)所遇到的错误,异常的意思是找不到...

2018-06-14 10:10:57 224

原创 我在学习中遇到的一些有用的网站

前言:这两天我在学习Python,发现了一些挺有用的网站,所以就想如果我可以把我在学习之中所遇到的资源都整理出来,那么这些东西在以后一定会对我们大有裨益的,因为一个人的大脑容量是有限的,你不可能去将所有你觉得重要的事情都记忆下来(曾经看过一篇文章,说是一个人在刚出生的时候其记忆力是100,往后每年都会下降1,这也是为什么人的年龄越来越大,而却觉得时间过得越来越快的原因,因为你的脑容量中存放的都...

2018-06-07 16:43:02 203 2

转载 消息中间件企业级应用

本文转载与Java团长微信公众号,原文链接为:https://mp.weixin.qq.com/s/vq7inOyby23dI0DYav51GQ  众所周知,消息中间件是大型分布式系统中不可或缺的重要组件。它使用简单,却解决了不少难题,比如异步处理,系统藕合,流量削锋,分布式事务管理等。实现了一个高性能,高可用,高扩展的系统。本章通过介绍消息中间件的应用场景,消息中间件的传输模式 两个面来对消息中...

2018-06-04 00:37:19 208

原创 spring实战——4、面向切面的spring

前言:4.1、什么是面向切面编程4.2、通过切点来选择连接点4.3、使用注解创建切面4.4、在xml中声明切面4.5、注入AspectJ切面总结:

2018-06-04 00:11:39 337

原创 spring实战——3、高级装配

3.1、环境与profile在软件开发中,有一个难题是将应用程序从一个环境中迁移到另外一个环境。开发阶段中,某些环境的相关配置可能并不适合实际生产环境中的需求,甚至迁移过去也无法正常工作。如数据库配置、加密算法以及与外部系统的继承是跨环境部署时会发生变化的几个典型例子。比如数据库的配置:a、开发环境中使用嵌入式数据库,我们会在一个带有@Bean注解的方法中使用EmbeddedDatabaseBui...

2018-06-02 00:59:12 334 1

原创 spring实战——2、装配bean

2.1、spring配置的可选方案spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系。我们作为开发人员,需要告诉spring如何通过这些bean之间的依赖关系将其组装起来。下面来介绍spring提供的三种装配模式:a、在XML中进行显示配置;b、在Java中进行显示配置;c、隐式的bean发现机制和自动装配;这三种配置方式具体哪种方式更为优秀,没有一个确定的答案,每种装...

2018-06-01 00:17:48 214

原创 spring实战——1、spring之旅

什么是spring?(由Rod Johnson创建的一个开源框架)Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。轻量...

2018-05-29 23:54:30 328

原创 如何去看一本技术类型的书籍

之前,买了一本spring实战书籍,对于当时还没有接触spring的我来说看这本书籍是比较痛苦的,因为你所花费的时间跟你能够从本书上所得到的东西来说是不成正比的;当时看了一段时间,看的我云里雾里的,最后便不了了之,没有看完;今天我重新拿起了这本书(在此之前我通过看视频自学了spring、springmvc),再看这本书的时候,发现里面的内容也变得异常清晰,也能够理解之前不理解的一些名词(如切面、切...

2018-05-29 22:37:57 1865 2

原创 Java中interface和@interface的区别

其实这两个东西并没有什么联系,两个都是Java中定义的关键字,一个表示接口,一个表示注解。什么是接口?接口可以理解成一种特殊的类,在这个类中只能有常量和抽象方法;接口不可以实例化,接口中的方法没有方法体,继承接口的类必须实现接口中定义的方法。接口的自述:“对于所有实现我的类,看起来都应该长得像我这个样子”。因此,采用了一个特定接口的所有代码都知道那个接口的实现类都有这个接口中所定义的方法。这便是接...

2018-05-21 00:31:56 7080

转载 SpringMVC日期类型转换问题——SpringMVC配置全局日期转换器

转载链接:点击打开链接前言        我们在SpringMVC开发中,可能遇到比较多的问题就是前台与后台实体类之间日期转换处理的问题了,说问题也不大,但很多人开发中经常会遇到这个问题,有时很令人头疼,有时间问题暴露的不是很明显,然后逐渐对问题进行跟踪,会发现是日期类型转换失败“映射”不到对应的持久类的日期属性上造成的,由此我还特意写过一篇博文:SpringMVC中出现" 400 Bad Req...

2018-05-20 23:30:25 1798

转载 C语言——各种指针……(指针数组、数组指针、函数指针、函数指针数组、函数指针数组的指针)

前言:对于指针,我们都知道是c/c++里的硬骨头,但之所以硬,才有细嚼慢咽的理由,今天我们一起来分析分析指针的精髓。首先我们来科普一下关于指针的小常识:指针相关概念指针数组 【int *p[4]】是数组,是一个存放指针的数组数组指针 【int (*p)[4]】是指针,该指针有能力指向一个数组函数指针 【char* (*fun)(char* p1, char* p2)】是指针,该指针有能力指向一个函...

2018-05-20 14:14:17 253

转载 RESTful架构理解

越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、...

2018-05-07 15:11:09 208

原创 浅谈单链表与双链表的区别

昨天面试官面试的时候问了我一道关于链表的问题:情境如下面试官:请说一下链表跟数组的区别?我:数组静态分配内存,链表动态分配内存;数组在内存中连续,链表不连续;数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。根据以上分析可得出数组和链表的优缺点如下: 数组的优点随机访问性强(通过下标进行...

2018-05-06 01:23:49 72465 39

原创 动态规划——01背包问题

问题描述:给定 N 种物品和一个容量为 C 的背包,物品 i 的重量是 wi,其价值为 vi 。问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大?题目分析:从N种物品中选择m种商品放入容量为C的背包,v1+v2+v3+……+vm最大,即求最优解,这里我们使用动态规划来解决该问题。题目需要求解背包容量为C时的最优解,那么我们可以分解问题,让背包容量从1增加到C,依次求解容量为1时的最...

2018-04-28 16:59:27 162

原创 剑指offer——二十六进制和十进制的相互转换

题目描述:在微软产品Excel中,用A表示第1列,B表示第2列……Z表示第26列,AA表示第27列,AB表示第28列……以此类推。请写一个函数,输入用字母表示的列号编号,输入它是第几列。例如:输入:HAT——输出:5454、输入:AA——输出:27、题目分析:从题目要求可知,我们需要实现一个将输入字符串转换成整型的函数,而这个要求实际上是需要我们将输入的表示二十六进制(用A~Z表示的二十六进制)的...

2018-04-20 11:36:04 3301 2

原创 六种常见排序算法的java实现(冒泡、快排、插入、归并、选择、希尔)

几种排序算法的性能比较:最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序O(n2)O(n2)稳定O(1)快速排序O(n2)O(n*log2n)不稳定O(log2n)~O(n)插入排序O(n2)O(n2)稳定O(1)归并排序O(nlog₂n)稳定O(n)选择排序O(n2)O(n2)稳定O(1)二叉树排序O(n2)O(n*log2n)不一定O(n)堆排序O(n*log2n)O(n*log2n)不稳定...

2018-04-17 23:19:11 295

原创 处理重复元素的数组的全排列(java实现)

题目描述:将一个数组全排列后输出。eg1:{“a”,“b”,“c”} ——>[a, b, c]、[a, c, b]、[b, a, c]、[b, c, a]、[c, a, b]、[c, b, a]eg2:{"a", "c", "c", "d",} ——> 如下所示:                                                    [a, c, c, ...

2018-03-19 23:00:28 4410 4

原创 剑指offer——二进制中1的个数

前言:因为此题目要用到位运算的知识,所以就简单介绍下位运算问题:    1、为什么所有的IT编程人员都如此推崇位运算呢?    2、为什么位运算的效率比普通的加减乘除效率高呢?那么,看完这两个问题后有没有想要了解位运算的冲动呢?下面让我们来了解下位运算。位运算: 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。计算机的运算模式是以二进制...

2018-03-13 23:18:03 302

原创 Go语言学习笔记(一)

概述:Go语言:Go语言是谷歌2009年发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。目标:Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。功能:其设计是让软...

2018-03-08 23:50:46 207

原创 二维数组中的查找(C语言实现)

题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思考:在这个二维数组的每一行中,最左边的数字是最小的,在每一列中,最上面的数字是最小的;那么,我们可以找到一个中间值(即第一行的最右边元素,也是最后一列的第一个元素);让这个中间值和整数比较,若中间值小于该整数,则说明这一行的...

2018-03-07 21:11:36 7859 4

转载 C语言中将二维数组作为函数参数来传递

c语言中经常需要通过函数传递二维数组,有三种方法可以实现,如下:方法一, 形参给出第二维的长度。例如:#include <stdio.h>void func(int n, char  str[ ][5] ){ int i; for(i = 0; i < n; i++)  printf("/nstr[%d] = %s/n", i, str[i]);}void main(){ cha...

2018-03-07 20:17:25 61029 9

原创 java虚拟机类加载机制、类加载器、自定义类加载器

类加载机制概述什么是虚拟机的类加载机制? 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型(数据类型)。在java语言中,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会使得类在加载时增加一点性能开销,但是会为java应用程序提供高度的灵活性,java天生可以动态扩展的语言特性就是依赖于运行期动态加载...

2018-02-27 16:07:46 260

原创 春节收心大法,专治各种不想学习

春节,是我国最盛大的传统节日,每到春节,忙碌了一年的人们便可以趁着这个时候休息休息,说的不好听点就是过渡的放纵自己,喝酒、打牌、大鱼大肉、玩耍……节后,大部分的身体、精神就放松了下来,现在我根据在gitchat上看到的一篇文章写出了如下总结(稍作改动)。大鱼大肉消化不良症状:没有胃口、恶心反胃、便秘……病因:过年期间,美食诱惑,猪肉肘子,烤鸭烧鹅,西凤配花生米,连吃几日,暴饮暴食,增加了肠胃道的负...

2018-02-24 22:13:28 536

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除