自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(216)
  • 资源 (3)
  • 收藏
  • 关注

原创 shell 脚本 关于字符串的那些事~ 单引号、双引号、不使用引号等等

一:字符串的定义shell脚本中字符串可以使用双引号、单引号、不使用引号来定义比如:在不使用引号的情况下字符串中间不可以有空格#!/bin/bashdoublestr="hello you";singlestr="happy you";str=sadyouecho $doublestrecho $singlestrecho $str执行脚本输出:hello youha...

2018-09-19 19:58:59 16094 2

原创 使gdb支持string、vector、map等STL类型数据的查看(linux)

前提条件(1)需要安装python[danni@vm-xxx-18 develop]$ python --versionPython 2.6.6(2)需要有gcc[danni@vm-xxx-18 develop]$ gcc --versiongcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)(3)需要有gdb。并且在gdb安装的时候需要设...

2018-08-30 20:26:56 8155 1

原创 lua 连接mysql数据库实现增删改查操作(linux下示例)

(1)linux下连接数据库: mysql -u root -p,-u 指定登录用户,-p 指定密码。[danni@vm-bestgame-18 develop]$ mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection i...

2018-08-24 15:08:37 3918

原创 awk的使用和举例

编写个文本文件作为示例模板:[danni@vm-xxx study]$ cat AwkDemo.txt This is a sed text.Hei Hei.Are you laugh?No, you can not do that.Are you sad?Oh, It is very good. 通常情况下,awk 将每个输入行解释为一条记录,将上一行的每个单词解释为每...

2018-08-23 10:31:12 836

原创 sed的用法与实例介绍

我们先编写一个小文档,用于后期举例使用。[danni@vm-xxx study]$ cat SedDemo.txt This is a sed text.I am beautyful.You are not beautyful.He is also not beautiful.Hei Hei.Are you laugh?No, you can not do that.Are y...

2018-08-22 21:38:49 1101

原创 c++ 类成员变量初始化顺序

我们通常说的Java是可以跨平台运行的,那么他是如何做到跨平台运行的呢。靠的就是JVM虚拟机。通常我们把自己编写好的Java代码编译生成class字节码文件,然后Java虚拟机加载这些字节码文件,解析这些字节码指令。Java虚拟机有自己完善的硬件架构,如处理器栈、堆栈、寄存器等,还有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得java程序只需要生成在Java虚拟机上运行的目标代码

2018-05-31 16:41:55 2327

原创 c++ 如何限制一个类对象实例只建立在堆上、或只建立在栈上

#include<iostream>#include <cstring>using namespace std;//new运算符://(1)执行operator new()函数,在堆空间中搜索何时的内存并进行分配。//(2)调用构造函数构造对象,初始化这片内存空间。//如何限制一个类对象只能建立在堆上?//也就是不能创建在栈上,把构造函数设置为私有。但是n...

2018-05-29 16:25:40 1063

原创 c++ 虚函数多态、纯虚函数、虚函数表指针、虚基类表指针详解

静态多态和动态多态–虚函数、纯虚函数静态多态:程序在编译阶段就可以确定调用哪个函数。这种情况叫做静态多态。比如重载 动态多态:在运行期间才可以确定最终调用的函数。需要通过虚函数+封装+继承实现。虚函数 1、虚函数都必须有定义 2、虚函数一般用在继承中。多个子类继承同一基类,若在某种行为上不同的派生类有着自己的实现方式。这种情况我们就会用到多态。采用在基类中将此函数定义成虚函数,派生类...

2018-05-24 14:22:58 3892

原创 c++ 顶层const指针和底层const指针的解读技巧

画一条穿过*位置的垂直直线 如果const出现在线的左边,说明指针指向的数据为常量 如果const出现在线的右边,说明指针本身是常量 如果const在线的两边都出现,说明两者都是常量。...

2018-05-23 09:41:17 531

原创 KCP原理及源码解析

什么是KCP?为什么要使用KCP? KCP是一个速可靠协议。它主要的设计目的是为了解决在网络拥堵的情况下tcp协议网络速度慢的问题,增大网络传输速率,但相当于TCP而言,会相应的牺牲一部分带宽。 kcp没有规定下层传输协议,一般用udp作为下层传输协议。kcp层协议的数据包在udp数据报文的基础上增加控制头。当用户数据很大,大于一个udp包能承担的范围时(大于mss),kcp会将用户数据分片存

2018-05-03 11:04:45 47448 20

原创 常用的vi和vim操作

visual模式下: gg:命令将光标移动到文档开头 G:命令将光标移动到文档末尾 w:移动到下一个单词 b:移动至单词的开头 dd:删除一行(光标所在行) 23dd:删除光标坐在行一下的23行命令行模式下。首先,输入:进入命令行模式(1)23 d:删除第23行 (2)23,32 d:删除从23到第32行(3)/string:从光标所在处向后查找对应的字符串命令 (4)?string

2018-04-20 20:36:31 242

原创 Lua 基础语法学习和使用

创建对象:创建对象是为类的实例分配内存的过程。每个类都有属于自己的内存并共享公共数据。 访问属性:我们可以使用点号(.)来访问类的属性 访问成员函数:我们可以使用冒号 : 来访问类的成员函数--基类Shape = {area = 0}--基础类方法function Shape:new(s,side) s = s or {} setmetatable(s,self) s

2018-04-16 23:26:16 639

原创 Lua生产者与消费者问题

(1)Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。 (2)在任一指定时刻只有一个协同程序在运行,并且这个正在运行的协同程序只有在明确的被主动要求挂起的时候才会被挂起。其它协同程序才有机会执行。 (3)协调程序创建后,默认是挂起的,调用resume()方法后才算启动--生产者消费者问题lo

2018-04-16 22:26:58 814

原创 C++ 数组、数组指针、指针数组、动态数组等详解

先了解一下数组的结构,然后接着了解动态数组的结构。 数组数组: (1)数组大小固定。 (2)数组是一种复合类型 (3)存放类型相同的对象的容器,需要通过所在位置访问这些对象。 (4)数组的元素应该为对象,因此不存在引用的数组 (5)维度:数组中元素的个数,必须大于0,编译的时候维度应该是已知的,也就是说,维度必须是一个常量表达式。 (6)不能将数组的内容拷贝给其他数组作为其初始值,也不

2018-04-15 17:15:07 4572 1

原创 C++ 容器详解

顺序容器:此处的顺序不是体现在元素的值的顺序,而是指的是元素加入容器时的位置相对应的。 关联容器:顺序容器分类: 类型 特点 vector 可变大小数组 支持快速随机访 在尾部之外的位置插入或删除元素可能很慢。 deque 双端队列 支持快速随机访问 在头尾位置插入/删除速度很快 list 双向链表 只支持双向顺序访问 在list的

2018-04-14 20:35:56 6493 1

原创 杂记

在一家游戏公司做Java后台开发,每天晚上十一点下班家常便饭。大部分写业务逻辑,需求分析,概要设计,代码设计已经熟悉的不能再熟悉了。但是却没有接触到任何多线程,高并发,优化查询数据之类的问题。不知道是因为自己只是写业务层,根本没办法接触到哪些部分,还是自己不会去学习。感觉半年了,除了每天完成任务的效率越来越快,其他的没有什么长进。 面了几家公司,有拿到offer的,也有虐得很惨的。平时太注意那些...

2018-03-22 19:51:44 439 1

原创 TCP/IP

TCP/IP 指传输控制协议/网际协议(Transmission Control Protocol / Internet Protocol)。是供已连接因特网的计算机进行通信的通信协议。是对计算机必须遵守的规则的描述,只有遵守这些规则,计算机之间才能进行通信。在 TCP/IP 中包含一系列用于处理数据通信的协议: (1)TCP ( Transmission Control Protocol,...

2017-10-29 19:32:06 338

原创 NIO

传统的IO流都是都是阻塞式的输入、输出。比如在读取输入流中的数据时,如果没有读取到有效数据,程序将会在此处阻塞该线程的执行。 并且传统的IO流都是通过字节的移动来处理的(即使不直接去处理字节流,但底层的实现还是依赖于字节处理),也就是说,面向流的输入/输出系统一次只能处理一个字节,因此面向流的输入输出的效率不高。 从JDK1.4开始,Java提供了一系列改进的输入/输出处理的新功能,这些功能被统

2017-10-28 23:26:44 252

原创 Redis常用命令小总结

1、配置密码 Redis数据库可以使用安全的方案,使得进行连接的任何客户端在执行命令之前都需要进行身份验证。要保护Redis安全,需要在配置文件中设置密码。 (1)config get requirepass (2)默认情况下,此属性为空,这表示还没有为此实例设置密码。可通过下列命令修改此属性。 config set requirepass “123456”(引号里面是你

2017-10-27 13:57:56 267

原创 Redis的使用 快速入门

Redis环境安装配置1、去这个 https://github.com/MicrosoftArchive/redis/releases 网站下载windows版本的Redis 2、解压这个文件夹,位置没有要求,放到你想放置的盘即可。我放的是D盘,我吧文件夹重命名为redis,方便查看。 3、在你的redis文件夹下打开cmd窗口(在redis文件夹下 shift+鼠标右键—->在此处打开命令窗

2017-10-26 21:13:32 774

原创 java静态代理和动态代理

按照代理的创建时期,代理类可以分为两种: 静态代理:由程序员创建代理类或特定工具自动生成源代码,再对其编译。在程序运行前代理类的.class文件就已经存在了。 动态代理:在程序运行时用反射机制动态创建。 静态代理代理对象(Proxy)和目标对象(RealSubject)实现了相同的接口(Subject),目标对象作为代理对象的一个属性,具体接口实现中,代理对象可以在调用目标对象相应方法前后加上

2017-10-23 22:03:25 339

原创 TCP 三次握手和四次挥手

首先介绍一些专业术语的意思: Source Port:源端口,16位。 Destination Port:目的端口,16位。 Acknowledgment Number:确认序列号,32位。 Sequence Number:发送数据包中的第一个字节的序列号,32位。 ACK:表示Acknowledgment Number字段有意义 SYN:表示SYN报文(在建立TCP连接的时候使用)

2017-10-23 18:50:04 4349

原创 如何判断一个基本类型的变量的类型呢?

我们知道当变量是引用类型的时候,可以通过反射来判断一个变量的类型。 科室当这个变量的类型是基本类型的时候呢,我们无法用反射来判断他的类型,这个时候我们可以采用instanceof操作符来判断。下面我用一个典型的例子来做演示:public class Test { public static void main(String[] args) { Test t = new Te

2017-10-22 21:55:44 12753

原创 spring的BeanFactory和ApplicationContext的区别

spring使用BeanFactory来实例化、配置和管理对象,但是它只是一个接口,里面有一个getBean()方法。我们一般都不直接用BeanFactory,而是用它的实现类ApplicationContext,这个类会自动解析我们配置的applicationContext.xml,然后根据我们配置的bean来new对象,将new好的对象放进一个Map中,键就是我们bean的id,值就是new的对

2017-10-17 18:52:32 1714

原创 spring aop实现的2种方式,以及自定义注解

发给你

2017-10-16 10:24:08 1510

原创 spring mvc原理

spring mvc的执行流程: 1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet。 web.xml中的相关配置:<!-- springmvc的核心是一个servlet (我们通常称为前端控制器) --> <serv

2017-10-15 23:45:22 221

原创 spring的启动过程

spring启动的过程其实就是Ioc容器的启动过程,对于web程序来说,Ioc容器启动即是建立上下文的过程。spring的启动过程: 1、首先,对于一个web应用,其部署在web容器中,web容器会为其提供一个全局的上下文环境,这个上下文就是ServletContext,为后面的spring Ioc提供宿主环境。 2、在web.xml中会有一个监听器contextLoaderListener

2017-10-15 21:36:31 415

原创 从码云上导入maven项目到eclipse(解决导入maven项目不自动构建的问题)

file—>import—>Projects from Git —>clone URL 但是我们发现我们导入的是maven项目,但是他没有帮我们构建maven项目的目录结构。 把这个项目从控制台移除,注意是移除,不要把本地文件删了。然后在导入maven项目即可自动构建。file—->import—>Existing Maven Projects—>finish即可。

2017-10-15 10:41:16 3396 2

原创 RESTful

RESTful:一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。REST :指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设

2017-10-12 22:55:52 233

原创 SpringBoot + mybatis + Swagger快速构建REST API并生成优美的API文档

Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建REST API。 我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。这样一来,我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发、Android开发或是W

2017-10-12 22:24:14 4098

原创 spring-boot整合mybatis(使用Fiddler抓包工具进行测试)

1、创建一个spring boot项目打开这个网址http://start.spring.io/,直接在里面填写对应的内容,即可自动生成。然后把下载的的项目import到你的开发工具中即可。 我是用的eclipse,因此是file - - > import - - - > Existing Maven Projects - - - >选择你项目存放的路径即可。 2、添加配置依赖项pom.xml在

2017-10-11 22:36:45 2049

原创 用mybatis的generator插件在项目中自动生成dao及entity

1、在Eclipse安装mybatis generator自动生成工具(1)下载mybatis生成架包工具MyBatis_Generator_1.3.1.zip,解压jar包把features、plugins文件夹下的架包分别拷贝到eclipse安装目录下的features、plugins文件夹(复制和替换eclipse原有的这两个文件夹)。然后重启eclipse。 (2)在pom.xml中添加m

2017-10-11 21:42:12 981

原创 spring、springmvc、mybatis整合搭建ssm项目(Eclipse+maven)

1、创建maven项目2、添加相关依赖包配置pom.xml:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://m

2017-10-11 21:22:53 316

原创 java Object类

java.lang Object:是每一个类的根类,每个类都直接或间接的继承Object类。 子类的构造方法默认访问的是父类的无参构造方法 public int hashCode():返回该对象的哈希码值。哈希值是根据哈希算法计算出来的一个值。这个值和地址值有关,但不是实际地址值。// 对象不同,哈希值一般也不同Student s1 = new Student();System.out.

2017-10-01 00:05:55 1210

原创 java String类

String类的获取功能:int length():获取字符串的长度 char charAt(int index):获取指定索引位置的字符int indexOf(int ch):返回指定字符在此字符串中第一次出现的索引 为什么这里是int ch而不是char ch呢? 因为我们知道’a’ 和 97都是指的字符 ‘a’,但是定义为int类型的既可以写97也可以写’a’,但是如果定义成c

2017-09-30 21:33:42 205

原创 面向对象思想的设计原则,设计模式的六大原则

面向对象思想设计原则: 1、单一职责原则 2、开闭原则 3、里氏替换原则 4、依赖注入原则 5、接口分离原则 6、迪米特原则 单一职责原则 其实就是常说的”高内聚,低耦合。也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个。在设计模式中,所有的设计模式都遵循这一原则。 开闭原则 核心思想是:对扩展开放,对修改关闭。 其实开闭原则的意

2017-09-30 19:49:14 394

原创 线程的生命周期图

线程的生命周期线程的一些状态: 1、新建:创建线程对象 2、就绪:线程有执行资格,没有执行权 3、运行:有执行资格,有执行权 4、阻塞:由于一些操作让线程改变了状态,没有执行资格,没有执行权 另一些操作可以把它给激活,激活处于就绪状态 5、死亡:线程对象变成垃圾,等待被回收

2017-09-30 19:45:39 3629

原创 定时器

定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行。我们可以在指定的事件做某件事情,可以通过Timer和TimerTask类来实现定义调度的功能 java.util Timer类:定时 public Timer():创建一个新计时器 public void schedule(TimerTask task, long delay):安排在指定延迟后执行指定的任务

2017-09-30 17:16:56 188

原创 多线程创建的四种方式

多线程的创建之—-继承Thread类继承Thread类。并重写run()方法,然后启动线程 1、自定义MyThread类,继承Thread类 2、在MyThread类中重写run方法 3、创建MyThread类的对象 4、启动线程对象(start方法是Thread类的方法) 1、举个小例子: MyThread类:public class MyThread extends Thread

2017-09-30 16:46:28 1707

原创 java线程组和线程池的概念

Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。默认情况下,所有的线程都属于主线程组。ThreadGroup类: public class ThreadGroup extends Object implements Thread.UncaughtExceptionHandler:线程组表示一个线程的集合。此外,线程组也可以

2017-09-30 15:13:29 966

mybatis generator

mybatis generator可以提高开发速度,这个Eclipse插件可以自动生成Domain、Dao、Map文件。将该工具解压,拷贝features和plugins文件夹到eclipse的安装目录下,重新启动Eclipse即可。

2017-10-10

使用eclipse创建struts2项目所需的jar包

这是创建struts项目所需的jar包。 使用的时候直接复制到项目的WEB-INF文件夹下的jar目录下即可使用。

2017-09-16

fastjson.jar

本资源是一个java的json解析jar包。上传给大家分享一下。 .

2017-09-01

空空如也

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

TA关注的人

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