- 博客(89)
- 资源 (3)
- 收藏
- 关注
原创 【华为OD2022Q4机试真题 Java】最左侧冗余覆盖子串(滑动窗口解法)
题目描述输入描述输出描述示例1示例2代码通过滑动窗口法来解会有比较好的时间复杂度,如果是直接双重循环暴力求解,可能会超时。下面是暴力解法下面是滑窗解法
2022-12-06 16:06:13
1030
1
原创 Mybaits批量数据插入Oracle报错
在Mysql下测试的时候,但是把环境换为Oracle的时候批量插入数据报错了。报错如下:java.sql.SQLException: ORA-00936: 缺失表达式经在网上查原因是Oracle的语法和Mysql的有区别,因此配置文件有所差异。记录下解决这个问题的两步。1,是要在mapper文件中声明没有主键。 <insert id="saveCapesValueData" ...
2018-12-18 14:59:44
729
原创 Threadlocal的使用
Threadlocal就是一个线程绑定的变量,这个变量只能在当前现成访问,其他线程无法访问这个变量。在保存一些线程相关的变量是特别有用。使用示例以下代码用来保存一次用户登陆的信息。用户登陆之后将其userId保存在ThreadLocal中,这样在需要的时候就能从ThreadLocal中取出。public class CurrentUser { private static fina...
2018-12-16 12:14:05
283
原创 JWT简介
JWT简介什么是JWTJWT组成headerpayloadSignature一些想法,不知道是不是对的。什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份...
2018-12-15 18:30:07
489
原创 String拼接字符串开始位置出现null问题
今天在写一个jsp页面请求一个rest接口,并把返回的json串返回的过程中出现了一个很奇怪的问题——jsp返回的json串前面多出来了一个null。直接调用rest接口并没有这样的情况,跟同事请教以后发现是因为字符串在声明的时候赋值为null了,在后面再对字符串进行拼接的时候就在开始位置出现了null,解决办法有两个:使用String类型的话再声明的时候赋值为空串。再进行字符串拼接,示例如下...
2018-12-05 15:01:08
2362
原创 Dubbo服务的三种启动方式
Dubbo服务的三种启动方式为什么对于服务提供方的工程,dubbo官方推荐使用可执行jar的方式运行呢,下面对三种启动方式进行比较:1、 使用web容器(Tomcat、Jetty等)启动dubbo服务 :增加端口管理复杂性, tomcat/jetty等都需要占用端口,dubbo服务也需要端口;浪费资源(内存),单独启动 tomcat,jetty占用内存大运用:需要提供web服务的模块,一般...
2018-11-29 20:13:46
13186
2
原创 阿里云Maven中央仓库
maven官方的下载源速度简直能慢出心脏病,建议修改中心软件,网上可以修改为阿里的软件源。这里copy过来做个个人收藏。修改maven根目录下的conf文件夹中的setting.xml文件,内容如下:<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.
2016-12-27 08:34:00
496
原创 使用Spring处理一个RESTful请求
这里介绍的是用Spring来发起一个http请求,请求的对方响应一个json数据,这里主要介绍对这个请求的发起和处理的过程。环境 java1.8 Ecplise Maven3下面是主要的代码,首先是Maven的配置文件:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XML
2016-06-28 12:41:55
2843
原创 使用Spring构建第一个RESTful服务
最近打算重新学学java,突然发现RESTful这个东西好像蛮有趣的,找来资料学习,找到Spring官方网站的一些资料,这里就跟着官方网站的例子试验了下。记录下实践的过程,一则稳固记忆,二则温故知新。REST (Representational State Transfer)描述了一个架构样式的网络系统。REST的基本原理就是使用URI来描述资源,每个具体的资源在服务中都对应到一个URI中,数据的传
2016-06-24 23:06:43
2318
原创 raspberry内核编译和模块开发
因为打算学一学linux驱动编程了,特意买了一块raspberry来作为开发环境。直接通过镜像按照的内核并不能直接用来做模块开发,因为发行版自身是不带内核源码树的,但是模块开发这个是必要的。所有要进行内核模块开发第一步就是要编译内核。具体到不同版本的raspberry,编译方法有细微的差别,这个raspberry官方有一篇文档专门将这个。我这个内核的编译过程主要就是参考这篇 KERNEL BUILD
2016-06-13 10:43:48
4773
1
原创 nginx配合rtmp模块搭建流服务器
本篇博客通过介绍使用nginx的rtmp模块来使nginx服务支持rtmp协议,可以完成推流和播放的功能。博客的内容完全出自参考1,参考2比较完整还介绍了除了介绍rtmp还介绍了hls。这篇博客主要介绍rtmp相关的内容。准备首先你需要一台安装了linux系统的主机,无论是云主机啊什么的都可以,甚至是树莓派也没问题。window应该也是可以的,但不是这里使用的环境,如果是想在window下测试,可以
2016-06-02 22:41:41
5270
原创 直播(ulive)进阶使用
之前有一篇博客介绍ulive初次使用的,文中通过介绍使用ucloud提供的测试推拉流域名来进行直播平台的使用。这篇博客则是完整的介绍从推流域名的创建到播放的完整过程。其中推拉流域名都使用我们自己配置的域名。拉流配置首先到ULive条目下,点击创建加速按钮,选择直播推流加速。然后可以按照界面中示例的进行配置。 下面对其中各项做个说明:推流域名:指流上传的域名,这个主要是配置在需要上传端的工具中
2016-05-24 19:21:18
5189
原创 Mysql备份与恢复
概述这里主要介绍通过mysqldump来导出数据和通过binlog导入数据的Mysql导入导出问题。备份常用工具:mysqldump, xtrabackupmysqldump: 原生数据导出工具,以sql的形式导出保存 xtrabackup: percona团队提供的备份工具,基于文件系统的备份备份全库——最简单版本mysqldump -h10.6.29.129 -uroot -p --all-
2016-05-21 12:57:51
389
原创 Mysql问题分析工具
常用工具top、iostat查看CPU/IO情况 慢查询日志+explain 获取数据库的各种运行状态,如”show engine innodb status”, 查询information_schema库里的INNODB_TRX、PROCESSLIST等状态表 tcpdump strace# top -d0.5 -c以0.5秒频率刷新,查看mysql的CPU使用情况,主要是看下cpu占用
2016-05-19 16:53:07
650
原创 Mysql慢查询分析与优化
概述(慢查询定义与危害)慢查询——顾名思义,耗时很长、响应很慢的查询危害—— 导致整个数据库响应变慢(过多消耗cpu或者io) 短连接场景下还可能引起耗尽连接数慢查询日志相关参数(开启慢查询)以下参数均是是在Mysql的配置文件/etc/my.cnf中配置的,配置在[mysqld]下。 参数名 含义 slow_query_log 是否开启慢查询
2016-05-18 19:04:21
1023
原创 Mysql主从配置
常见mysql主从架构1.Master-Slave 2.级联 3.双Master互为主备主从同步原理下面的图说明了主从库之间是如何进行数据同步的,概括来讲就是主库通过把他的binlog推送给从库,从库通过binlog构建数据库来实现的,下面附上一张原理图: 所以要求主库必须要打开binlog 集群的所有MySQL必须配置server-id参数,并确保唯一Master-S
2016-05-18 19:03:57
385
原创 Mysql初始安装及配置
概述这里是同事分享的mysql课程的笔记,中间加入了一些自己网上找来的东西,按照自己的想法弄了这篇博客。环境系统环境:centos6.5 cat /etc/centos-relese 数据库版本:mysql5.5(通过remi源安装)安装CentOS6.5(试验环境)yum install mysql-server --enablerepo=remiUbu
2016-05-18 19:03:28
629
原创 云直播(ULive)
这篇博客旨在通过一个简单是使用例子来初步说明ULive这个产品的使用方法,产品文档的说明主要是针对产品的,而这篇博客则主要是从用户业务的角度来做说明。概述这里通过obs(一个开源的直播软件)来录视频(产生直播流),当然也可以通过sdk来开发推流客户端。直播流推流到UCloud提供专门用于测试的推流地址,播放是通过支持rtmp协议串流播放的vlc(开源播放器)来做的。有其他更多需求比如说弹幕啊什么的其
2016-05-09 17:57:44
4612
原创 甜米酒制作方法
0,原材料:糯米,玉米面,小麦。这里选择一种常用食材(糯米)。 1,泡米:新糯米,洗净后浸泡5-8小时;(注:可用温水。手指能捏碎即可) 2,蒸米:隔水蒸米,如蒸包子一样。要求蒸好的米“内无生心、疏松不糊、透而不烂”。如果吃起来感觉米很硬,可以淋点水把米翻一下,再蒸一会儿。 (注:用电饭煲者,米一定要泡,蒸米时少放水,要求米是透明的颗粒状,米太软做出来的甜酒会酸) 3,冷米:自然摊凉到温度约
2016-04-26 21:50:03
1371
原创 无EIP云主机外网访问
在UCloud平台使用云主机的时候,如果需要访问外网,一种比较直接的方式就是绑定EIP,但是在某些情况下我们并不希望给没给云主机都绑定一个EIP,比如说安装需要从外网下载软件的时候。这个时候我们该如何实现这个需求呢,在这种情况下,我们要求最少需要有一个EIP,这样可以通过一定的设置方式让其他云主机使用这个EIP作为出口,这里介绍两种方法,一种是通过UCloud平台提供的路由器产品(免费),还有一个是
2016-04-25 22:25:38
2305
原创 Docker安装
记录在我的云主机上安装Docker的过程,安装过程是通过软件包管理器来安装的,所有安装过程比较简单,过程参考了Docker官方文档和其他一些内容。前提条件由于Docker对操作系统的一些底层功能有依赖,所有并不是所有的Linux发行版都可以用来安装Docker的,我这里选择的是Ubuntu14.04 64bit,因为Ubuntu本身使用用户量比较大,而且也是我自己常用的系统。具体要求在列表中给出:
2016-04-22 11:43:38
348
原创 Linux磁盘管理
这篇博客是在系统的层次对Linux下磁盘做一个说明的,磁盘是计算机系统中非常基础的一个硬件,对于磁盘的管理和使用,操作系统完成了管理的大部分工作,而使用部分由于每个人操作磁盘的目的不同,那么使用方法也就自然不同。文章中的大部分内容来自于鸟哥的Linux私房菜,在参考部分给出了这篇文章的连接。EXT2文件系统文件系统可以认为是操作系统安装在磁盘上用来对磁盘进行管理的软件,文件系统是会占用磁盘空间的。
2016-04-21 07:35:04
754
原创 单机Web服务器性能浅论
当网站部署好之后,开始上线运行的时候。一开始可能一切都是正常的,慢慢的随着时间和访问量的增加,可能会出现一些比较明显的性能问题。一旦出现这样的问题,轻则影响用户访问速度,重则可能整个网站就瘫痪了,比如说有后端的应用,数据出现死锁等等情况是,这时一般整个网站一般都是不可用的。1、 影响Web应用访问速度的因素网络延时 任何Web应用的使用者都要通过网络来访问应用,那么网络延时就成为了
2016-04-16 01:39:45
1415
原创 Win2008搭建Web和FTP服务
介绍本篇博客介绍的是在UCloud的云主机上通过IIS搭建Web和FTP服务器的过程,这里的Web服务器只支持最简单的html页面,如果需要其他支持,请自行安装所需软件。创建和连接主机1、创建win2008的主机 在UCloud平台上创建win2008主机的过程和创建其他系统主机过程一样,但是要注意的是,默认的镜像不是Windows系统的,所以在安装过程中需要注意选择下Windows系统的镜像。这
2016-04-11 02:38:44
8368
原创 UNIX系统接口【重学C之八】
在Unix系统中,操作系统通过系统接口(也叫系统调用)来提供服务,系统调用时内核中的代码,位于内核中。用户的应用处于用户空间中,因此用户进程调用系统调用的过程,就是进程由用户空间进入内核的过程。C语言的库函数就是通过系统调用来实现其功能的,可以说系统调用为库函数提供了底层的支持。这一章的内容主要就是介绍Unix系统中用于输入和输出的系统调用,并介绍如何通过它们实现标准库。文件描述符 在Unix系统
2016-04-05 17:25:55
1153
原创 UCloud上LNMP小型网站搭建
介绍这篇博客是之前UCloud上LAMP小型网站搭建与测试的姐妹篇,重点在于通过介绍在UCloud云主机上安装Discuz!来介绍LNMP环境的搭建,这里Discuz!可以换成任何用户自己的应用,过程都是类似的。LNMP环境搭建关于主机的创建,登录和管理可以参考之前的那篇博客,这里直接就介绍在主机上安装NMP环境
2016-04-01 02:43:30
1423
原创 UCloud上LAMP小型网站搭建与测试
介绍本篇博客旨在通过介绍搭建一个WordPress博客的过程介绍在UCloud的云主机(UHOST)上搭建单机Web服务的过程。WordPress作为一个著名的CMS系统,有着广泛的应用。其作为博客也是非常常见的用法。所以这里使用WordPress作为示例软件来说明。
2016-03-30 18:28:48
3044
2
转载 CSDN-markdown编辑器用法
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-03-27 20:01:29
442
原创 输入与输出【重学C之七】
这一部分将要介绍的是字符和字符串处理,字符和字符串处理是编程中非常常见的一个问题。所有的编程语言都会提供字符和字符处理相关的内容。在C语言中并没有未字符串设置专门的数据类型,但是在C中,我们一般使用char *类型来表示字符串。字符最终是存储在内存中的,在C语言中对字符的操作会直接涉及到对内存的操作。因此库函数中提供的对字符的操作函数,有一些就是直接对内存进行操作的。
2016-03-27 20:00:11
373
原创 C语言库函数四
这部分的函数主要是用来在堆上分配内存的。总共就4个比较简单,常用的是后面的3个,calloc() //分配一个二维存储空间,不常用free() //释放已分配空间,和分配的函数配合使用malloc() //分配空间,常用realloc() //在分配的空间不足的情况是,增加空间(重新分配一块更大的内存。
2016-03-26 23:14:08
340
原创 C语言库函数三
这部分要讨论的是数学函数和时间日期函数。这部分的函数都是一些在涉及到一些比较专门的行业中才会使用到的函数,在一般的编程中比较少用到,只是偶尔会使用其中的一两个而已。数学函数就是一些常见的数学计算的函数,比如三角函数的计算,主要就是三角函数的求值,时间和日期函数比较简单,主要是用来返回当前系统时间的。
2016-03-26 23:09:21
291
原创 C语言库函数二
这一部分将要介绍的是字符和字符串处理,字符和字符串处理是编程中非常常见的一个问题。所有的编程语言都会提供字符和字符处理相关的内容。在C语言中并没有未字符串设置专门的数据类型,但是在C中,我们一般使用char *类型来表示字符串。字符最终是存储在内存中的,在C语言中对字符的操作会直接涉及到对内存的操作。因此库函数中提供的对字符的操作函数,有一些就是直接对内存进行操作的。字符的定义很简单就是ASSIC表
2016-03-26 23:02:33
517
原创 C语言库函数一
由于C语言本身可以说是一门非常轻量化的编程语言,语言本身提供的内容非常有限,当然这也促成了灵活小巧的特点。C语言有很大一部分特性都不是通过语言性质来实现的,而是通过库函数来实现的,如果不使用库函数几乎无法编写出任何可用的C语言程序来。C语言官方提供的库函数,被称之为标准库函数。标准库函数中实现了我们需要的大部分功能,这些库函数按功能可以大致分为I/O处理,字符和字符串,数学函数,时间和日期,内存管理
2016-03-25 22:21:54
572
原创 结构【重学C之六】
结构是一个或多个变量的集合,这些变量可能为不同的类型(区别于数组),为了处理的方便而将这些变量组织在一个名字之下。它也被称之为结构体,是C语言提供的一种定义自定义数据类型的方式。结构体给了程序员自行实现自己所需要数据结构的能力。ANSI定义了结构的赋值操作——结构可以拷贝、赋值、传递给函数,函数也可以返回结构类型的返回值。
2016-03-21 21:41:49
550
原创 Linux环境下使用GDB调试C程序
写这篇博客的目的是为了对gdb的常用命令做一个备忘,记录回顾下使用gdb的过程加深记忆。gdb是linux环境下一个非常著名的C语言调试工具,而且也非常的好用,对于解决C语言的各种bug非常拿手,对于c语言下常见的内存问题,可以说能非常快速的定位并解决问题。这篇博客首先通过介绍gdb的基本使用,后面补充gdb的各种使用命令,我还想列出一些典型的使用环境来做一个总结性的说明,不过这个就留到以后再补充吧。
2016-03-20 17:03:11
7660
原创 指针与数组【重学C之五】
指针与数组是C语言中两种常见的变量,指针用来保存变量地址,数组是用来保存同一种数据类型的,可以是基本变量类型,比如整形,浮点型等等,也可以是自定义变量类型,比如说结构体。指针首先指针提供了一种访问变量地址的方式,正是由于指针的存在使得C语言成为一种比较底层的语言,因为他可以直接操作系统的内存空间,通过其地址的方式,一般的高级语言都不会提供对地址直接操作的能力,比如说Java或者是Python,它们都
2016-03-19 00:03:40
462
原创 函数与程序结构【重学C之四】
C语言程序就是由一个个的函数的组成的,而且一般来说是由一个个小的函数组成的,而不是少量较大的函数组成。将函数分下为重用提供了更多的可能,并且让排错的过程思路更清晰。C语言一些在声明函数是声明参数类型,单不是强制的,并且即使函数声明的参数类型和实际定义的不一样函数也是不会重载的(当然C语言中没有重载的概念)。这里如果函数声明的参数类型和实际定义的不一致,应该是会报错。C语言的作用域问题也是一个非常关键
2016-03-04 17:59:20
626
原创 Redmine平台简介
Redmine介绍每天记Redmine是我现在的工作内容之一,之前一直没有深入的了解Redmine究竟是用来干嘛的的,直到最近看到有人分享了一篇《最佳工程实践-基于Redmine的项目管理平台》的文章,于是对Redmine这个东西又起了一些兴趣。 Redmine是一个基于web免费且开源的项目管理和问题追踪工具。它一些用户管理多个项目已经和他相关的子项目。它的特点包括每一个项目的wikis和论坛
2016-02-16 12:19:54
2720
原创 控制流【重学C之三】
控制流是所有编程语言的基本组成部分之一,几乎所有的程序都要用到控制流,在程序语言中控制流语句用于控制各操作的执行次序。在程序中一个分号一般就意味着一条语句,而使用花括号括起来的则构成了一个复合语句,也就是程序块。控制流控制各操作的能力就是通过控制语句块和语句的执行来实现的。常见的流程控制语句有if-else语句,switch语句,while和for循环,do-while语句和break与contin
2016-01-17 23:47:06
609
原创 类型与运算符【重学C之二】
有一种说法程序是由数据和算法组成的,变量和常量是程序处理的两种基本数据对象。声明语句说明变量的名字和类型,也可以同时指定变量的初值。如果同时指定初值的话,这个过程就叫做变量的初始化。外部变量和静态变在没有被显示的初始化的情况下被初始化为1,而自动变量的值在没有被初始化的情况下是不确定的值。这里的自动变量说的就是局部变量。表达式则把变量和常量结合起来组成新的值。确切的来讲表达式应该保存变量,常量
2016-01-12 13:14:48
552
SEO高级编程(php版)含pdf和源码 英文版
2014-10-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人