推荐课程
网络营销进阶
网页速度,如何提高网页速度,1. 控制网页大小 2. 代码瘦身(除去空白区域,除去注释,除去换行,把 css 和 js 代码改为外部文件或使用工具压缩 js 代码) 3. 尽量使用静态页面(没有后台数据库,不含程序和不可交互的网页)
网络营销教程
网络营销基础,百度快照的更新时间反应了搜索引擎对这个网站的抓取的频率。在一定程度上说明了网站的重要性。中国站长站( `http://whois.chinaz.com`) 可以查询域名的注册信息。
微信小程序上传照片
微信小程序上传照片功能教程,在微信小程序开发过冲中,上传图片是一个经常用到的功能。如果不使用一些公共的组件,想要在原生的微信开发者工具里面开发,需要我们单独的维护这样的功能。
微信小程序自定义组件
微信小程序自定义组件教程,自定义组件在微信小程序里面被使用的地方比较多的。如果在小程序的多个页面上面拥有相同的功能可以使用自定义模版方式,在各个页面里面引入。这样就可以使用一套代码开发,多处地方使用了。
微信小程序评论
微信小程序评论教程,在平时微信小程序的使用过程中,我们会遇到那种对某种观点发表评论的动作。或者对某种观点进行回复。我们可以使用 `input` 和 `button` 组件结合,来构造一个写回复的功能。
微信小程序scroll-view
微信小程序scroll-view教程,`scroll-view` 是小程序里面的视图容器,它在官网文档 scroll-view在平时的开发过程中,我们会经常使用到该视图容器。
JavaEE Spring IOC入门案例
JavaEE Spring IOC入门案例,描述,运用 Spring 的控制反转(IOC)机制来创建对象。题目,搭建 Spring 的开发环境,运用 Spring 的控制反转(IOC)机制来创建对象
Java的Ip操作工具类
Java的Ip操作工具类教程,在 web 项目中,有的时候,我们需要获取相应的 ip 地址,然后对该 ip 地址做一些控制,比如 白名单啊,黑名单啊啥的,限制一部分 ip 做一些事情等等。
JavaEE MyBatis入门案例
JavaEE MyBatis入门案例,描述,使用 MyBatis 框架 访问数据库,查询数据库中数据。题目,使用 MyBatis 框架访问数据库,查询学生表中的记录。
Java文件操作工具类
Java文件操作工具类,在平时编码过程中,对文件的操作时比较频繁的,下面我们总结了一些平时经常使用到的功能。可以将下面所有的方法都维护在一个类里面,在项目中当作公共类来使用。
Spring自定义验证器
Spring自定义验证器,在使用 Spring 在对 Controller 里面传过来的参数进行校验的时候,如果不想让某个 String 类型的字段为空,那么我们可以在对应的字段上面加 @NotBlank 注解。
JavaEE JDBC DML
JavaEE JDBC DML,使用 Java JDBC 实现增加、删除、更新表中记录的操作。使用 Java JDBC 相关技术完成以下操作:往学生表添加几个学生信息。更新其中一个学生的信息。删除其中一个学生的信息。
Java List转Map
Java List转Map教程,平时工作中,在很多场景下面会用到将 List 集合转换成 Map 对象的格式,提高效率。我们可以使用 Collectors.groupingBy 对指定的属性进行分组,转换成 Map 格式。
JavaEE Filter解决中文乱码问题
JavaEE Filter解决中文乱码问题,描述,使用 JavaEE Filter 解决 POST 方法提交汉字乱码的问题。题目,编写过滤器,解决所有 Servlet 中使用 POST 方法提交汉字乱码的问题。
逻辑地址线性地址物理地址
逻辑地址线性地址物理地址,逻辑地址(Logical Address) ,是指由程序产生的与段相关的偏移地址部分。例如,你在进行 C 语言 指针编程中,可以读取指针变量本身值(& 操作)。
JavaEE Filter
JavaEE Filter,描述,实现一个 JavaEE Filter 过滤器的功能。题目,分别使用 XML 方式和注解的方式配置一个过滤器,然后分别创建一个 Servlet 验证拦截器作用。
多级页表
多级页表,假设某计算机系统按字节寻址,支持 32 位逻辑地址,采用分页存储管理,页面大小为 4KB,页表项长度为 4B。4KB = 2<sup>12 </sup>B,因此页内地址要用 12 位表示,剩余 20 位表示页号。
磁盘调度算法
磁盘调度算法,一次磁盘读写操作的时间由寻找(寻道)时间、延迟时间和传输时间决定:1. 寻找时间 Ts:活动头磁盘在读写信息前,将磁头移动到指定磁道所需要的时间。这个时间除跨越 n 条磁道的时间外。
页面置换算法
页面置换算法,操作系统中的页面置换算法主要包括最佳置换算法(OPT,Optimal)、先进先出置换算法(FIFO)、最近最久未使用置换算法(LRU,Least Recently Used)。
JavaEE HttpServletResponse
JavaEE HttpServletResponse,描述,使用 HttpServletResponse 对象,通过设置响应头的方式,实现页面跳转。
JavaEE HttpServletResponse
JavaEE HttpServletResponse,描述,使用 HttpServletResponse 对象,实现 3 秒后跳转指定页面。
Copy-on-write(写时拷贝)
Copy-on-write(写时拷贝),copy-on-write,写时拷贝,是计算机程序设计领域的一种优化策略,其核心思想是,当有多个调用者都需要请求相同资源时,一开始资源只会有一份。
JavaEE HttpServletResponse
JavaEE HttpServletResponse,描述,使用 HttpServletResponse 对象,设置响应的内容类型和编码,设置响应码以及错误信息。
页面置换算法
页面置换算法,操作系统中的页面置换算法主要包括最佳置换算法(OPT,Optimal)、先进先出置换算法(FIFO)、最近最久未使用置换算法(LRU,Least Recently Used)、时钟置换算法和改进型的时钟置换算法。
爱生气的书店老板
爱生气的书店老板,描述力扣第 1052 题。今天,书店老板有一家店打算试营业 customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。
进程间通信方式
进程间通信方式,概述,进程通信(Interprocess Communication,IPC)是一个进程与另一个进程间共享消息的一种通信方式。消息(message)是发送进程形成的一个消息块,将消息内容传送给接收进程。
进程线程协程区别
进程线程协程区别,进程概念,进程是系统资源分配的最小单位, 系统由一个个进程(程序)组成 一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。
动态分区算法
动态分区算法,操作系统的动态分区算法主要有四种,即首次适应算法(First Fit),最佳适应算法(Best Fit),最坏适应算法(Worst Fit)和邻近适应算法(Next Fit)。
RPC关键技术
RPC关键技术,RPC 使用了哪些关键技术?1. 动态代理,生成 Client Stub(客户端存根)和 Server Stub(服务端存根)的时候需要用到 Java 动态代理技术,可以使用 JDK 提供的原生的动态代理机制。
Dubbo负载均衡策略
Dubbo负载均衡策略,Dubbo负载均衡策略有哪些1. Random,随机,按权重设置随机概率。在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀。
主流RPC框架
主流RPC框架,dubbo是阿里巴巴公司开源的一个 Java 高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。
什么是RPC
什么是RPC,RPC (Remote Procedure Call)即远程过程调用,是分布式系统常见的一种通信方法。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数。
二分查找
二分查找,描述,leetcode 官方第 704 题,给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
RabbitMQ消息发送过程
RabbitMQ消息发送过程,首先客户端必须连接到 RabbitMQ 服务器才能发布和消费消息,客户端和 rabbit server 之间会创建一个 tcp 连接。
RabbitMQ确保消息不丢失
RabbitMQ确保消息不丢失,在RabbitMQ 中,我们要确保消息不丢失,主要可以从以下几方面入手,即:交换机持久化、队列持久化、消息持久化、生产者开启发送确认。
MongoDB监控工具mongostat
MongoDB监控工具mongostat,mongostat 是 mongodb 自带的状态检测工具,在命令行下使用,会间隔固定时间获取 mongodb 的当前运行状态,并输出。
进程控制块PCB
什么是进程控制块PCB,进程控制块 PCB(Process Control Block)是用来描述和控制进程的运行的一个数据结构,是进程实体的一部分,是操作系统中最重要的记录型数据结构。
inode节点
inode节点,操作系统的文件数据除了实际内容之外,通常含有非常多的属性,例如 Linux 操作系统的文件权限与文件属性。文件系统通常会将这两部分内容分别存放在 inode 和 block 中。
select poll与epoll
select poll与epoll,在操作系统中,程序运行的空间分为内核空间和用户空间,用户空间所有对 io 操作的代码(如文件的读写、socket 的收发等)都会通过系统调用进入内核空间完成实际的操作。
Linux网络IO模型
Linux网络IO模型,Linux 的五种 IO 模型,分别是:阻塞 IO、非阻塞 IO、多路复用 IO、信号驱动 IO 以及异步 IO。其中阻塞 IO、非阻塞 IO、多路复用 IO、信号驱动 IO 都属于同步 IO。
Linux文件处理awk命令详解
Linux文件处理awk命令详解教程,Linux 中的 awk 是一个强大的文本分析工具,简单来说 awk 就是把文件逐行读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理。
HTTP协议之chunk编码(分块传输编码)
HTTP协议之chunk编码(分块传输编码),分块传输编码(Chunked transfer encoding)是超文本传输协议(HTTP)中的一种数据传输机制,允许 HTTP 由应用服务器发送给客户端应用。
HTTP优化
HTTP优化,HTTP 的相关优化主要包括持久连接 Keep-Alive、修改时间 Last-Modified 以及 If-Modified-Since、版本标记 ETag 以及 If-None-Match、缓存时间 Expires 以及 Cache-Control 和 gzip 压缩等。
HTTP1与HTTP2区别
HTTP1与HTTP2区别,什么是HTTP 2.0,HTTP/2(超文本传输协议第 2 版,最初命名为 HTTP 2.0),是 HTTP 协议 的的第二个主要版本,使用于万维网。HTTP/2 是 HTTP 协议自 1999 年 HTTP 1.1 发布后的首个更新。
HTTPS如何保证安全
HTTPS如何保证安全,什么是HTTPS,HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),是为了保证客户端与服务器之间数据传输的安全。 近两年,Google、Baidu、Facebook 等这样的互联网巨头。
Http中的Keep-Alive
Http中的Keep-Alive,HTTP 持久连接(HTTP persistent connection,也称作 HTTP keep-alive 或 HTTP connection reuse,翻译过来可以是保持连接或者连接复用)。
Golang一致性哈希算法
groupcache一致性哈希算法,groupcache 中的一致性哈希算法是定义在 consistenthash 文件夹下面的 consistenthash.go 文件里面,一致性哈希算法用于在集群中计算某个 key 所属的具体的节点。
http-interview-http-resp-header
HTTP请求与响应首部,通用首部,通用首部字段(General Header Fields),也就是请求报文和响应报文两方都会使用的首部:
HTTP PUT与POST区别
HTTP PUT与POST区别,HTTP 中的 PUT 与 POST 方法的区别在于,PUT 方法是幂等的:调用一次与连续调用多次是等价的(即没有副作用),而连续调用多次 POST 方法可能会有副作用。
HTTP GET与POST对比
HTTP GET与POST对比,HTTP 中的 GET 一般用于获取/查询资源信息,也就是从指定的资源请求数据。 而 POST 一般用于向指定的资源提交要被处理的数据,也就是更新资源信息。
HTTP请求方法
HTTP请求方法- HTTP 1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。HTTP 1.1 新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT。
零钱兑换
零钱兑换,力扣第 322 题。给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。
Curl分块下载文件
Curl分块下载文件命令,我们在使用 Linux 的 curl 命令,在下载大文件时,可以使用 r 参数,来分块下载文件,分块下载文件完成后,我们可以使用 cat 命令,将多个文件进行合并。
Shell随机数
Shell随机数,Linux 系统产生随机数的五种方法: echo $RANDOM openssl rand -base64 8 date +%s%N head /dev/urandom|cksum cat /prpc/sys/kernel/random/uuid
整数转罗马数字
整数转罗马数字,罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。
Shell if
Shell if,Shell 中的 if 语句的使用语法如下: if[条件] then 指令 fi 或者: if[条件];then 指令 fi 分号相当于命令换行,上面两种语法等同。
Curl保存Header信息
Curl保存Cookie命令,我们在使用 Linux 的 curl 命令,访问网站时,如果需要保存网站的 Cookie 信息,我们可以使用 c 参数,将网站的 Cookie 信息保存到文件中。
寻找两个正序数组的中位数
寻找两个正序数组的中位数,描述,leetcode 官方第 4 题。给定两个大小为 m 和 n 的正序(从小到大)数组 `nums1` 和 `nums2`。请你找出并返回这两个正序数组的中位数。
Curl保存Cookie
Curl保存Cookie命令,我们在使用 Linux 的 curl 命令,访问网站时,如果需要保存网站的 Cookie 信息,我们可以使用 c 参数,将网站的 Cookie 信息保存到文件中。
Curl查看通信过程
Curl查看通信过程命令,我们在使用 Linux 的 curl 命令,访问网站时,还可以使用 v 参数,查看一次 HTTP 请求的详细过程,包括端口连接和 http request 的头信息。
Curl显示HTTP头
Curl显示HTTP头命令,我们在使用 Linux 的 curl 命令,在请求一个网页时,可以不显示该网页的全部源码,而仅仅显示 HTTP 头信息,我们可以使用 I 参数。
Vim vimrc配置
Vim vimrc配置,Vim 的 vimrc 配置,我们直接将 vimrc 拷贝到用户目录并命名为 ~/.vimrc,vimrc 配置如下:```shell set nocompatible set autoread syntax enable syntax on
Curl下载网页
Curl下载网页命令,我们在使用 Linux 的 curl 命令下载一个网页时,直接使用 curl 命令后面加上需要下载的网页地址即可,我们还可以使用 o 参数,将网页内容保存到文件中。
Java包装类
Java包装类,描述,运用 Java 包装 类,进行数据类型相互转换。题目:请定义学员类,有以下 成员属性:姓名:String、年龄:int、身高:double、婚否:boolean、性别:char。
链表按位求和
链表按位求和,描述,leetcode 官方第 2 题。给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加。
GCC安装更新
GCC安装更新,GCC安装,安装 GCC 之前,首先我们需要下载,下载命令如下:wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.bz2下载完之后,我们使用如下命令进行解压:
DOS网络操作
DOS网络操作教程,在 DOS 中,通过命令可以实现十分强大的网络相关操作,最常见地址解析协议(arp)、文件传输协议(ftp)、 显示当前的 TCP/IP (ipconfig)、ping、route 等命令
C++ bind
bind,C++ 中的 bind 函数的最根本的作用就是可以把一个参数较多的函数给封装成参数较少的函数,因此对于 find_if 函数的问题,我们可以自定义一个含俩个参数的函数。
select poll与epoll
select poll与epoll,select,poll,epoll 都是 IO 多路复用的机制。I/O 多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪)。
C++11特性
C++11特性,C++ 11 的新特性有哪些? 1. auto:auto 不能用来声明函数的返回值。2. Range-based for loops (基于范围的 for 循环)。3. nullptr
设计模式的六大原则
设计模式的六大原则,开闭原则(Open Close Principle),开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。
C++四大强制类型转换
C++四大强制类型转换,四大强制类型转换,为什么使用 C 语言 风格的强制转换可以把想要的任何东西转换成合乎心意的类型。那为什么还需要一个新的 C++ 类型的强制转换呢?
C++ mutable
C++ mutable,mutable的使用,mutalbe 的中文意思是“可变的,易变的”,跟 constant(即 C++ 中的 const)是反义词。在 C++ 中,mutable 也是为了突破 const 的限制而设置的。
Java StringBuilder按格式输出字符串
Java StringBuilder,题目,用户输入一个字符串(要求:必须包含数字与字母),按照数字、小写字母、大写字母的顺序重新输出字符串 。
Java StringBuilder判断字符串是否对称
Java StringBuilder,描述,判断 字符串 的是否对称。题目,定义一个 方法 判断字符串是否对称,例如:"abcba"、"上海自来水来自海上" 均为对称字符串。
C++ static使用
C++ static使用,在 C++ 中,static 的使用主要用于修饰静态全局变量、静态局部变量、静态函数,在面向对象中,static 可以用于修饰静态数据成员和静态成员函数。
Java StringBuilder实现字符串反转
Java StringBuilder,描述,运用 Java StringBuilder 实现 字符串 的反转。 题目,定义一个字符串,运用 Java StringBuilder 实现 字符串反转。
C++ const使用
C++ const使用,const使用,C++ 中的 const 使用需要注意,const 对象必须初始化并且默认情况下,cosnt 对象只在文件内有效。const对象必须初始化,因为 const 对象一旦创建,就不能改变了。
Java StringBuilder
Java StringBuilder,描述,运用 Java StringBuilder 实现 字符串 的拼接。 题目,定义两个字符串,使用 Java StringBuilder 实现 字符串拼接。
Linux buffer cache与swap
Linux缓存机制介绍,在 Linux 系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时。
Java方法数组元素反转
Java方法,题目,已知一个数组 arr = { 19, 28, 37, 46, 50 } 用程序实现把该数组中的元素值交换, 交换后的数组 arr = { 50,46, 37, 28, 19 } ,并输出交换后的数组元素。
Java方法求数组索引
Java方法,题目,已知一个数组内元素为 { 19, 28, 37, 46, 50 } 。用户输入一个数据,查找该数据在数组中的索引,并在控制台输出找到的索引值,如果没有查找到,则输出 -1。
Java方法按条件求和
Java方法,描述,Java 数组 计算符合指定条件元素的和。题目,定义一个数组,元素是 { 68,27,95,88,171,996,51,210 }。 要求:求和的数组元素个位和十位都不能是 7,并且只能是偶数,计算结果并输出。
TCP最大连接数
TCP最大连接数,tcp概述,服务器如何标识tcp连接,在 TCP 应用中,server 事先在某个固定端口监听,client 主动发起连接,经过三路握手后建立 TCP 连接。
TCP backlog参数
TCP backlog参数,backlog 参数主要用于底层方法 int listen(int sockfd, int backlog), 在解释 backlog 参数之前,我们先了解下 tcp 在内核的请求过程,其实就是 tcp 的三次握手:
Golang最接近三数之和
Golang最接近三数之和,题目,用 Golang 实现给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。
Golang三数之和
Golang三数之和,题目,用 Golang 实现给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。