- 博客(117)
- 收藏
- 关注
原创 Docker 从入门到实践系列三 - Docker 常用命令,springboot启动原理面试
容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P(大写) 或 -p (小写) 参数来指定端口映射。启动容器的时候如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。Docker 的端口映射通过 -p 或 -P 参数实现,命令如下:docker run --name tomcat1 -d tomcatdocker run --name tomcat2 -d -p 8888:8080 tomcat如上,就把主机端口 8888 请求映射到 Docker 容器内
2022-01-04 08:24:35
395
1
原创 C语言字符串函数与内存函数(附源码),mysql数据库实用教程pdf
注释: strncpy函数只是在strcpy函数的基础之上进行的完善,只是多了一个count参数,就是需要拷贝count个字符,具体的看代码:#include <stdio.h>#include <string.h>int main(){char dest[20] = “################”;char src[20] = “hello world”;printf(“拷贝之前: %s\n”, dest);strncpy(dest, src, 5);pri
2022-01-04 08:23:09
994
原创 C 工程师校招面试考点基础篇汇总含答案解析,java反射机制的底层原理
35、请你来说一说隐式类型转换36、说说你了解的类型转换37、请你来说一说C++函数栈空间的最大值38、请你来说一说extern“C”39、请你回答一下new/delete与malloc/free的区别是什么40、请你说说你了解的RTTI41、请你说说虚函数表具体是怎样实现运行时多态的?42、请你说说C语言是怎么进行函数调用的?43、请你说说C语言参数压栈顺序?44、请你说说C++如何处理返回值?45、请你回答一下C++中拷贝赋值函数的形参能否进行值传递?46、请你回答一下malloc
2022-01-04 08:21:44
231
原创 Oracle 常用SQL语句大全(精),mysql数据库视频教程
exp 用户名/密码@远程的IP:端口/实例 file=存放的位置:\文件名称.dmp full=y4、数据库还原打开cmd直接执行如下命令,不用再登陆sqlplus。完整还原imp demo/demo@orcl file=d:\back.dmp full=y ignore=y log=D:\implog.txt指定log很重要,便于分析错误进行补救。导入指定表imp demo/demo@orcl
2021-12-31 11:48:33
368
原创 NIO之缓冲区【直接和非直接缓冲区】,java儿童编程公开课视频
IO操作直接进行,没有再次复制 | 创建和销毁开销大 || 非直接缓冲区 | 在虚拟机内存中创建,易回收 | 但占用虚拟机内存开销,处理中有复制过程。 |直接缓冲区直接缓存区是在虚拟机内存外,开辟的内存,IO操作直接进行,不再对其进行复制,但创建和销毁开销大。非直接缓冲区非直接缓存区在虚拟机内存中创建,易回收,但占用虚拟机内存开销,处理中有复制过程。直接和非直接缓冲区解释操作系统在内存区域中进行I/O操作,这些内存区域,就操作系统方面而言,是相连的字节序列。所以,只有字节缓冲区有资
2021-12-31 11:47:35
204
原创 Netty高性能架构之Reactor模式,springboot的底层原理
说明:Reactor 模式,通过一个或多个输入同时传递给服务处理器的模式(基于事件驱动)服务器端程序处理传入的多个请求,并将它们同步分派到相应的处理线程, 因此Reactor模式也叫 Dispatcher模式Reactor 模式使用IO复用监听事件, 收到事件后,分发给某个线程(进程), 这点就是网络服务器高并发处理关键Reactor 模式中 核心组成:Reactor:Reactor 在一个单独的线程中运行,负责监听和分发事件,分发给适当的处理程序来对 IO 事件做出反
2021-12-31 11:45:13
703
原创 Netty实战一 Netty实现文件的上传和下载,从头到尾,都是精华
所以下面这段代码的作用就是为这个子channel增加handle*/.childHandler(pipeline);ChannelFuture f = b.bind().sync();/异步绑定到服务器,sync()会阻塞直到完成/System.out.println("Netty server start,port is " + port);f.channel().closeFuture().sync();/阻塞直到服务器的channel关闭/} finally {group.shutdow
2021-12-31 11:44:17
1262
原创 MySQL面试,大纲,文档打包带走,java面试必问问题
众所周知,MySQL在Java企业级开发过程中是有着非常重要的地位,MySQL不仅开源免费,而且方便扩大发展,这无疑是给企业省下不少财力和时间。正因如此,阿里巴巴的数据库系统也大量地使用MySQL,因此可以说MySQL他的稳定性是非常有保障的呢。正因MySQL有如此多的优势,在现在大小厂的面试中,MySQL也成了必问的核心知识点!但仅仅熟悉MySQL是远远不够的,要想达到精通的程度,就得需要深入系统的学习MySQL,这一点是非常重要的。这份阿里技术官纯手写的“MySQL笔记”一共分为两部分第一部分:
2021-12-31 11:43:10
616
原创 MySQL基础学习手册,Java大厂高级面试题灵魂100问
2.登录Mysql(1)查看服务是否开启[root@a ~]# netstat -tulnp |grep mysqltcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN2208/mysqld(2)安全安装mysql[root@a ~]# mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FO
2021-12-31 11:42:13
915
原创 MySQL(八):索引,java大学实用教程第四版
EXPLAIN SELECT * FROM buy_log WHERE userid = 2;优化器选择了使用单个列的聚集索引,因为这个索引的叶子结只有1个键值,也就是这个结点能存放更多的键值(一页有16KB,然后一个叶子结点就是一页)可以看到选择器选择了userid_2这个索引,也就是联接索引,因为在这个联合索引中,buy_date是已经排序好了,如果使用这个索引进行取出数据,就无需再对buy_date做一次额外的排序操作(可以看到在Extra列上,只有使用了index scan和index,并
2021-12-31 11:39:50
195
原创 MySQL(一):数据类型,java基础入门书籍推荐
其中expr值可以是hi一个负数,因此单纯使用DATE_ADD也可以完成DATE_SUB的操作。SELECT NOW() AS cur,DATE_ADD(NOW(),INTERVAL -1 DAY) AS yesterday;如果是闰月的话(比如不是闰年的2月28日加上4年,就会变成闰年的2月29日),DATE_ADD函数返回的日期是2月29日,如果不是闰月,那么返回的日期是2月28日。SELECT DATE_ADD(‘2000-02-29’,INTERVAL 4 YEAR);SELECT DAT
2021-12-31 11:38:49
252
原创 Mybatis 传参的各种姿势,看这一篇就足够,jvm优化面试题
User getUserInfo(Integer userId,String sex);mapper.xml:select userIdfrom userswhere userId=#{0} and sex=#{1};--------------------------------------------------------------------------------------第三种情形,传入多个参数 userId,sex 使用注解@Param :service层:
2021-12-30 13:29:36
90
原创 Mac下vagrant从安装到体验,自学者福利
(base) zhaoqindeMBP:~ zhaoqin$ vagrant box listThere are no installed boxes! Use vagrant box add to add some.去虚拟机镜像仓库找个合适的镜像,地址是:https://app.vagrantup.com/boxes/search ,如下图,咱们用centos来完成初次体验吧,点击红框位置:在新页面中,点击下图红框中的"New"按钮,即可看到使用该虚拟机的命令:按照上图的提示,在命令
2021-12-30 13:27:46
365
原创 Linux系统:第十一章:常用命令,15个经典面试问题及答案
查看实时日志:tail -f 文件名称杀掉进程:kill -9 进程的PID复制文件:cp 文件路径/文件名称 文件路径/文件名称启动:service rabbitmq-server start关闭:service rabbitmq-server stop重启:service rabbitmq-server restart查看所有的队列:rabbitmqctl list_queues清除所有的队列:rabbitmqctl reset查看用户:rabbitmqctl list_users查看
2021-12-30 13:26:50
106
转载 Linux之CentOS下载与安装教程【图文详解】,java编程基础及应用课后答案
由于VMware虚拟机只能试用十几天,需要购买注册码才能一直使用,所以懂得都懂,自行百度pj版VMware即可。CentOS官网:http://isoredirect.centos.org/centos/7/isos/x86_64/下载:选择最第一栏的镜像进行下载,它会根据你所在的位置列出离你最近的站点:在第一栏中随便选一个站点:选择文件大小最大的一个镜像进行下载:等待下载即可(推荐使用类似迅雷、IDM等多线程下载器):下载完成:打开VMware.
2021-12-30 13:25:00
196
原创 Linux下安装配置Tomcat,java中高级面试题最新
教程开始:====================================================================首先打开我们的CentOS:打开终端 输入ifconfig 获取CentOS的IP:![在这里插入图片描《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享述](https://img-blog.csdnimg.cn/2021
2021-12-30 13:24:04
476
原创 Linux 常用命令,程序架构主程序和中断程序
2. -p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份3. -i :若目标文件已经存在时,在覆盖时会先询问操作的进行4. -r :递归持续复制,用于目录的复制行为5. -u :目标文件与源文件有差异时才会复制例如 :[plain] view plain copy print?1. cp -a file1 file2 
2021-12-30 13:23:09
203
原创 LayUI时间线优化,sql基础教程和mysql必知必会
图标用的是font-awesome.css图标库,font-awesome图标库:http://fontawesome.dashgame.com/动画效果是用的animate.css,网址:https://daneden.github.io/animate.css/自己写的css样式代码:.clear {clear: both}.timeline-box {background: #fff;padding: 20px 8px;position: relative;opacity: 0.7
2021-12-30 13:22:14
637
原创 Kotlin学习笔记(一)—基础语法与Java全面PK,linux内核驱动开发视频课程
System.out.println(“fits in range”);}123452.检查数据是否在数值范围外val list = listOf(“a”, “b”, “c”)if (-1 !in 0…list.lastInd《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享ex) {println("-1 is out of range")}if (list.s
2021-12-30 13:21:19
133
原创 Redis(三):有序集合底层实现,java架构师面试答案
跳跃表结点由redis.h/zskiplistNode结构定义typedef struct zskiplistNode{//后退指针struct zskiplistNode *backward;//分值keydouble score;//成员对象valuerobj *obj;//层(也是一个结构体,不过是一个数组)struct zskiplistLevel{//前进指针struct zskiplistNode *forward;//跨度unsigned int span;}l
2021-12-29 14:40:46
364
原创 ReactJS实战之生命周期,Java知识体系最强总结
每当Clock组件第一次加载到DOM时,我们都想[生成定时器],这在React中被称为挂载同样,每当Clock生成的这个DOM被移除时,我们也会想要[清除定时器],这在React中被称为卸载我们可以在组件类上声明特殊的方法,当组件挂载或卸载时,来运行一些代码:class Clock extends React.Component {constructor(props) {super(props);this.state = {date: new Date()};}componentDidMou
2021-12-29 14:39:47
66
原创 Peter-别看是Java基础,很多人已入坑,从JDK源码学习Hashmap
我们有很多不同的输出文字的方法。我将使用一种使用标准java包的方法。System.out.println("Welcome To My First Java Program ");再次在这个例子中,注意首都’S’ System。此代码基本上打印包含在引号内的一行文本。该行终止,就像java中的大多数行一样,带有半冒号。如果我们将所有这些代码放在一起,它将如下所示:class Tut1 {public static v《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目
2021-12-29 14:38:44
59
原创 nginx限流,Java线程池中的线程复用是如何实现的
user root root;worker_processes 1;events {worker_connections 1024;}http {include mime.types;default_type application/octet-stream;#cachelua_shared_dict dis_cache 128m;#限流设置limit_req_zone $binary_remote_addr zone=contentRateLimi
2021-12-29 14:34:24
86
原创 Netty学习之旅------线程模型前置篇Reactor反应堆设计模式实现(基于java
/**Reactor模型,反应堆@author dingwei2*/private static final class Reactor implements Runnable {// private static final ConcurrentHashMap<SocketChannel, ByteBuffer> waitSendData// = new ConcurrentHashMap<SocketChannel, ByteBuffer
2021-12-29 14:33:00
148
原创 Netty-ChannelHandler-ChannelPipeline,java工作流面试题
| handlerAdded | 当把ChannelHandler添加到ChannelPipeline中时被调用 || handlerRemoved | 当从ChannelHandler在ChannelPipeline移除时调用 || exceptionCaught | 当处理过程中在ChannelPipeline中有错误产生时被调用 |Netty中定义了下面两个重要的ChannelHandler接口:ChannelInboundHandler——处理入站数据以及各种状态变化CHannel
2021-12-29 14:32:00
122
原创 MySQL隔离级别,springmvc源码分析图
(1)打开一个客户端A,并设置当前事务模式为repeatable read,查询表account(2)在客户端A的事务提交之前,打开另一个客户端B,更新表account并提交(3)在客户端A执行步骤(1)的查询:(4)执行步骤(1),lilei的balance仍然是400与步骤(1)查询结果一致,没有出现不可重复读的 问题;接着执行update balance = balance - 50 where id = 1,balance没有变成400-50=350,lilei的balance值用的是步骤(2)
2021-12-29 14:31:00
75
原创 MySQL 5,mysql基础教程西泽
cat /etc/redhat-release | xargs echo '版本 ’ && dmidecode -s system-product-name | xargs echo '是否虚拟化 ’ && cat /proc/cpuinfo |grep “processor”|wc -l | xargs echo 'cpu核数 ’版本 CentOS Linux release 7.5.1804 (Core)是否虚拟化 KVMcpu核数 4myql5.7.225.7
2021-12-28 13:18:43
137
原创 MyCat教程【简单介绍】,nginx入门mobi
3. 使用MyCat的好处3.1 数据量级单一的 MySQL 其数据存储量级和操作量级有限.Mycat 可以管理若干 MySQL 数据库,同时实现数据的存储和操作.3.2 开源性质Mycat 是 java 编写的中间件. 开源,免费.有非常多的人和组织对 Mycat 实行开发,维护,管理,更新.Mycat 版本提升较快,可以跟随环境发展.如果有问题,可以快速解决.Mycat 有开源网站和开源社区.且有官方发布的电子书籍.Mycat 是阿里原应用 corba 转型而..
2021-12-28 13:17:45
210
原创 MyCat教程【分库分表】,java高并发面试题及答案
2.1 创建3个数据库在master中分别创建3个数据库demo1,demo2,demo3,因为主从的关系会同步到从库中。create database demo1 default character set utf8;create database demo2 default character set utf8;create database demo3 default character set utf8;2.2 schema.xml配置修改schema.xml文件中的信息,如下:&l
2021-12-28 13:16:42
591
原创 Mybatis源码分析三-数据源模块分析,工厂模式的使用,三面美团Java岗
public CastlevaniaGame(String begin, String stop, String play) {this.begin = begin;this.stop = stop;this.play = play;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getBegin() {return beg
2021-12-28 13:15:23
226
原创 MyBatis常用标签和注解(绝对经典),springboot的工作原理图
SELECT * FROM UserWHERE name LIKE #{pattern}6、xml中的timestamp比较第一种写法:原符号 < <= > >= & ’ "替换符号 < <= > >= & ' "例如:sql如下:create_date_time >= #{startTim《一线大厂
2021-12-28 13:14:27
116
原创 MyBatis初级实战之五:一对一关联查询,linux操作系统实用教程文东戈课后答案
id int(32) NOT NULL AUTO_INCREMENT,name varchar(32) NOT NULL,age int(32) NOT NULL,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS log;CREATE TABLE log (id int(32) NOT NULL AUTO_INCREMENT,user_id int(32),a
2021-12-28 13:13:19
920
原创 MyBatis 源码分析 - 缓存原理,Java高并发书籍
2.2 LruCacheLruCache,顾名思义,是一种具有 LRU 策略的缓存实现类。除此之外,MyBatis 还提供了具有 FIFO 策略的缓存 FifoCache。不过并未提供 LFU 缓存,如果大家有兴趣,可以自行拓展。接下来,我们来看一下 LruCache 的实现。public class LruCache implements Cache {private final Cache delegate;private Map<Object, Object> keyMap;pr
2021-12-28 13:12:22
101
原创 Maven远程仓库的配置和部署,程序员VS产品经理
JBoss Repositoryhttp://repository.jboss.com/maven2/truedailyfalsewarndefaultrepository:在repositories元素下,可以使用repository子元素声明一个或者多个远程仓库。id:仓库声明的唯一id,尤其需要注意的是,Maven自带的中央仓库使用的id为central,如果其他仓库声明也使用该id,就会覆盖中央仓库的配置。name:仓库的名称,让我们直观方便的知道仓库是哪个
2021-12-28 13:09:59
282
原创 MyCat:第二章:Mycat前世今生,java运行原理图
人已经出不来了,还有更多的人拼命想挤进去。仅以此文,献给哪些努力在IT界寻求未来的精英和小白们,还有更多被无视的,正准备转行的同仁,同在江湖混,不容易啊,面试时候就装装糊涂,放人家一马,说不定,以后又是一个Made in China的乔布斯啊。如果我有一个32核心的服务器,我就可以实现1个亿的数据分片,我有32核心的服务器么?没有,所以我至今无法实现1个亿的数据分片。——Mycat ‘s Plan曾经的TA曾经的TA,长发飘飘,肤若凝脂,国色天香,长袖善舞,所以,一笑倾城。那已成传说,一如您年
2021-12-27 13:14:52
283
原创 MyCat:第二章:Mycat前世今生(1),Java岗大厂面试官常问的那些问题
使自己成为一只迷途的羔羊。每个用过Cobar的人就像谈过一段一波三折、荡气回肠的爱情,令你肝肠寸断。就像围城:里面的人已经出不来了,还有更多的人拼命想挤进去。仅以此文,献给哪些努力在IT界寻求未来的精英和小白们,还有更多被无视的,正准备转行的同仁,同在江湖混,不容易啊,面试时候就装装糊涂,放人家一马,说不定,以后又是一个Made in China的乔布斯啊。如果我有一个32核心的服务器,我就可以实现1个亿的数据分片,我有32核心的服务器么?没有,所以我至今无法实现1个亿的数据分片。——Mycat
2021-12-27 13:13:49
338
原创 mybatis开发要点-insert主键ID获取和多参数传递,java面试项目中你遇到的难题
1、使用map传递参数;2、使用注解传递参数;3、使用Java Bean的方式传递参数;一、插入数据主键ID获取============一般我们在做业务开发时,经常会遇到插入一条数据并使用到插入数据的ID情况。如果先插入在查询的话需要多一次sql查询,未免效率太低。因此mybatis也有提供插入数据并返回主键ID的方式。如下1、Insert/update1.1、属性解释useGeneratedKeys(仅对 insert 和 update 有用)这会令 MyBatis 使用 JDBC 的
2021-12-27 13:11:33
374
原创 MyBatis 源码分析 - 内置数据源,java项目技术架构图
| 1 | MyBatis 源码分析 - MyBatis入门 | https://thinkwon.blog.csdn.net/article/details/114808852 || 2 | MyBatis 源码分析 - 配置文件解析过程 | https://thinkwon.blog.csdn.net/article/details/114808962 || 3 | MyBatis 源码分析 - 映射文件解析过程 | https://thinkwon.blog.csdn.net/article/de
2021-12-27 13:10:26
142
原创 Linux常用指令(超详细整理),java注释快捷键视频
案例:其它组: 除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。改变用户所在组:在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。usermod –g 组名 用户名usermod –d 目录名 用户名 改变该用户登陆的初始目录。样例:《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分
2021-12-27 13:09:29
205
原创 LinkedList实现原理(JDK1,javamap集合面试
Node node(int index) {// assert isElementIndex(index);if (index < (size >> 1)) { //前序遍历Node x = first;for (int i = 0; i < index; i )x = x.next;return x;} else {Node x = last;for (int i = size - 1; i > index; i–)x = x.prev;return
2021-12-27 13:08:05
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人