自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (4)
  • 问答 (2)
  • 收藏
  • 关注

原创 模板引擎Thymeleaf

JSP、Velocity、Freemarker、ThymeleafSpringBoot推荐的Thymeleaf;语法更简单,功能更强大;### 1、引入thymeleaf;```xml<dependency><groupId>org.springframework.boot</groupId>...

2019-03-14 22:33:15 179

原创 SpringBoot Web开发

使用SpringBoot;**1)、创建SpringBoot应用,选中我们需要的模块;****2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来****3)、自己编写业务代码;****自动配置原理?**这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxxxxxxAutoConfiguration:帮...

2019-03-13 22:19:05 147

原创 SpringBoot日志的使用和配置

SpringBoot默认帮我们配置好了日志//记录器 Logger logger = LoggerFactory.getLogger(getClass()); @Test public void contextLoads() { //System.out.println(); //日志的级别; //由低到高 trace<debug<info<warn...

2019-03-13 22:15:53 681

原创 Spring Boot

日志框架的发展:开发一个大型系统;​1、System.out.println("");将关键数据打印在控制台;去掉?写在一个文件?​2、框架来记录系统的一些运行时信息;日志框架 ;zhanglogging.jar;​3、高大上的几个功能?异步模式?自动归档?xxxx?zhanglogging-good.jar?​4...

2019-03-12 22:19:09 119

原创 spring boot 配置文件加载位置

1.项目中的配置文件springboot 启动时 会默认扫描以下位置的application.properties 或者 application.yml 文件,作为spring boot的默认配置文件file:./config/ 项目根路径的config文件夹中file:./ 项目根路径中c...

2019-03-11 22:19:45 2158

原创 Spring Boot入门程序

在此之前,一定要确保环境没有问题。安装了maven和jdk。我本地用的是maven是3.53,jdk是1.8。1.使用IDEA 或者 ECLIPSE创建好一个 maven项目。2.在 pom.xml文件中,导入 spring boot 相关依赖<parent> <groupId>org.springframework.boot</gr...

2019-03-07 22:27:30 105

转载 Web Storage的使用和进阶知识

Web Storage的使用和进阶知识前端博客•前端开发教程•cookie | 缓存 | 网站优化•787View1文章目录Web Storage使用兼容性桌面浏览器移动浏览器分类文档源localStorage时效作用域sessionStorage时效

2018-01-02 09:39:09 351

原创 C# 锯齿数组

锯齿数组就是数组的数组,但和多维数组不一样。比如二维数组,是多个相同元素的一维数组,但是锯齿数组,下面每个数组的元素的个数不一样,维度也可以不一样。 //锯齿数组的两种初始化方式 int[][] a = new int[4][]; a[0] = new int[1] { 1 }; a[1] = new int[

2017-07-09 15:00:32 1203

原创 C# 枚举类型的转换

直接贴代码字符串转为枚举类型,如果字符串的值不在枚举类型包含的数据之中,就会产生异常。class Program { static void Main(string[] args) { SSS st1; string str; str = "BBB";

2017-07-08 20:30:38 871

原创 LINUX vfork

vfork 和fork 一样,执行一次,返回2次。使用fork创建子进程,子进程完全复制父进程资源,这样得到的子进程独立于父进程,具有良好的并发性。使用vfork创建子进程,操作系统并不将父进程的地址空间完全复制到子进程中。用vfork创建的子进程共享父进程的地址空间。子进程完全运行在父进程的地址空间上。子进程对该地址空间任何数据的修改在父进程中也可见。

2017-07-04 21:06:00 222

原创 LINUX exec函数的使用

(1)exec函数说明fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新程序的内容替换了。另外,这里的可执行文件既可以是二进制文件,也可

2017-07-02 20:55:39 1176

转载 LINUX waitpid()函数的用法

#include #include pid_t waitpid(pid_t pid,int *status,int options);如果在调用waitpid()函数时,当指定等待的子进程已经停止运行或结束了,则waitpid()会立即返回;但是如果子进程还没有停止运行或结束,则调用waitpid()函数的父进程则会被阻塞,暂停运行。参数1 pid等待进程

2017-06-28 22:03:44 1081

原创 LINUX wait

系统中的僵尸进程都要由wait系统调用来回收。函数原型:#include#includepid_t wait(int *status);进程一旦调用了wait就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻

2017-06-28 21:51:01 358

原创 LINUX fork的使用

fork函数#include#includeint main(){ int count=0; pid_t pid; pid= fork(); //进程在执行fork时一分为2,且有两个返回值。两个进程依次执行if else if(pid>0) { printf("我是爸爸,fork返回值=%d,进程号=%d,父进程号=%d\n",pid,getpid(),getppid(

2017-06-26 21:31:24 290

原创 LINUX 文件系统的总体结构

用户空间:用户空间包含一些应用程序和GUN C库,他们为文件系统调用(打开,读取,写和关闭)提供用户接口。系统调用:系统调用的作用相当于交换器,将系统调用从用户空间发送到内核空间的适当端点。VFS:是底层文件系统的主要接口,这个组件导出一组接口,然后将他们抽象到各个文件系统,各个文件系统的行为可能差异很大。有两个针对文件系统的缓存(inode和dentry),他们缓存最近使

2017-05-28 09:51:04 355

原创 make工程管理器

make工程管理器是一个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入makefile文件的内容来执行大量的编译工作。用户只需编写一次简单的编译语句就可以了。它大大的提高了实际的工作效率

2017-05-22 21:43:53 1217

原创 二叉树

二叉树的性质:1、二叉树的第i层上至多有2的(i-1)次方个节点;2、深度为k的二叉树的最大节点数目为2的k次方-1个节点。3、对于任何一颗二叉树T,如果终端节点数为m,度为2的节点数n,则m=n+1。满二叉树:深度为K且节点为2的K次方 -1;每一层的节点都是该层的最大数目完全二叉树:对满二叉树由上至下,由左至右的顺序进行编号。在二叉树中每个节点的号码都和满二叉树的编

2017-05-22 18:05:07 212

原创 GUN开放源代码方面的要求

在任何情况下都不要饮用有版权的代码善意接收别人给您的程序添加的代码,但要检查其合法性,即是否也是GUN的编写日志文件(Changelog),这将是您的代码更容易维护。GUN对C程序风格的要求:函数的开头的左花括号放到最左边,避免把任何其它的左花括号、左括号或者左方括号放到最左边。对于函数定义来说,把函数名的起始字符放到最左边也同样重要。这帮助任何寻找函数定义,并且可能有

2017-05-21 17:04:57 1266

原创 LINUX GDB调试器

gdb进行调试的是可执行文件,而不是如“.c”这样的源代码文件。因此,需要先通过gcc编译生成可执行文件才能用gdb进行调试。用-g生成可调试的文件gcc -o main.o main.c -ggdb命令:list(l) | 查看这一行附近10行的代码,或者查看函数代码。后面不加参数,是从头开始显示,每一次显示10行break (b)  ||  在某一行设置断点,在某个函数

2017-05-21 16:27:45 233

原创 GCC

程序预处理:gcc -o t.i t.c -E程序编译,生成汇编代码gcc -o t.s t.i -S将汇编代码生成可执行文件gcc -o t.o t.s

2017-05-21 11:16:51 308

原创 C# LINQ使用,运算符

直接上例子: static void Main(string[] args) { //定义匿名类的数组对象 var peo = new[] { new {Name = "ppp1",LastName= "a",ID="2011"}, new {Name = "

2017-05-20 15:09:25 719

原创 C# LINQ使用

例子如下: static void Main(string[] args) { //定义匿名类的数组对象 var peo = new[] { new {Name = "ppp1",LastName= "a",ID=2001}, new {Name = "ppp

2017-05-18 21:14:52 255

原创 C# 迭代器

例子如下:一般是在用foreach循环访问自定义结构类时用到这个。遍历是通过IEnumerable.GetEnumerator()来实现的。 class A:IEnumerable { C c1; private List data = new List(); public void FillList(params T[] i

2017-05-17 21:36:10 331

原创 C# 枚举集合

枚举集合指的是,对一个集合中的元素,一次列举出来。对于数组来说,用for循环和foreach可以实现。foreach能实现,是因为继承了IEnumerator对于一些自定义的结构,需要手动去写。这是继承自IEnumerator, class TreeEnumerator:IEnumerator where TItem:IComparable { privat

2017-05-14 16:48:05 549

原创 C# 协变和逆变

协变是,接口泛型参数仅用于输出的地方、并且是父接口为object,子类对象为string等类型。interface IjiekouB//T仅用作返回值,是输出结果 { T GetData(); }   static void Main(string[] args)        {            A a1 = new A();       

2017-05-14 13:59:35 469

原创 C# 泛型

例子如下:static void Main(string[] args) { int a = 5; double b = 6; Queue s = new Queue();//表示是一个int类型的队列,只能存放int类型,不带泛型的存放的是object类型 s.Enqueue(a)

2017-05-12 19:46:59 193

翻译 C# 子线程调用父线程控件

1、在程序初始化的时候对要操作的控件设置下面的属性:System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls  =  false;这样,系统就不会再抛出上面所说的这个错误了。从实质上说,该方法是通过采用取消线程安全保护模式的方式实现的,所以不建议采用。2、基本思路如下:把想对另一线程中的控件实施的操作放到一个函数中

2017-05-12 16:09:03 888

原创 C# 事件

事件和委托类似,但是事件只能在定义的类的内部使用,而委托可以在外部使用例子如下:public delegate void SSS_A_B();        public event SSS_A_B shijian1;        public void Z_shijian1()        {            shijian1();        }

2017-05-11 21:28:45 175

原创 C# Lambda

例子:class Program    {        //定义委托类型        delegate int Weituo(int a);        static void Main(string[] args)        {            //定义委托变量            Weituo wei1;            wei1 =

2017-05-09 20:30:51 418

原创 委托适配

class A    {        public void Fun_A(int a)        {            Console.WriteLine("Fun_A");        }        public void Fun_A1()        {            Fun_A(0);        }    }

2017-05-08 20:59:18 148

原创 C# 委托

直接上实例。代码含有注释。//类型A,内有一个函数  class A    {        public void Close_A()        {            Console.WriteLine("Close_A");        }    }//类型B,里面有一个函数。 class B    {        public

2017-05-04 15:21:42 141

原创 C# 索引器

以下是索引器例子程序,功能是通过索引器查看某个数字,某一位(二进制下)是否为0,0则False,1则true。还可以通过true和false 设置某一位的值为1还是0; struct IntBits    {        public IntBits(int initialBitValue)        {            bits = initialBitVal

2017-05-02 16:34:46 179

原创 C# 属性

属性是通过getset来实现的属性可以只有读或者只有写,也可以加访问修饰符。   class A    {        private int x, y;        public A(int a,int b)        {                x= rangeCheckedX(a);//调用判断函数,判断值是否在设定的范围之中,不在就抛异常   

2017-05-01 16:44:22 174

原创 C# 资源释放

读文件时打开时需要关闭。为了防止文件读取过程中出现异常,造成无法后续执行关闭,所以需要用try finally。 static void Main(string[] args)        {            TextReader reader = new StreamReader("D:/学习/C# VS2010/第14章垃圾回收与资源管理/test.txt", Enco

2017-04-30 16:16:52 426

原创 C# 垃圾回收

析构:在对对象进行资源回收时自动执行。  class C    {        ~C()        {             Console.WriteLine("C--xigou");        }    }注意事项:析构方法只能存在于引用类型,结构体无析构方法,不可对析构方法使用访问修饰符,析构方法不允许带任何参数。子类继承父类时,先执行

2017-04-30 15:03:43 491

原创 C# 密封类和密封方法

密封类是在类定义前加sealed。密封类不能被继承。 sealed class A    {       ...    }密封方法,能禁止子类对其进行重写的方法。比如定义一个类A,A派生出B,B派生出C。B如果需要对A的虚方法重写,但不想让C对B重写过的方法重写,可以对B的方法添加一个sealed,这样C就无法重写B的方法。例子:   class A

2017-04-28 19:17:05 271

原创 C# 抽象类

抽象类的意思,就是这个类是抽象的,里面带有纯虚函数。不能创建实例。纯虚函数,是在函数前加abstract ,只声明,不实现。实现在相应的子类中。类似虚函数的重写。但是虚函数必须有定义,且可以不重写。而抽象类,子类必须实现父类中用abstract声明的函数例子:  abstract class A    {          abstract public void Fun(

2017-04-27 19:38:22 224

原创 C# 接口

接口也是C#实现多态的一种方式。接口用interface声明,接口的名字首字母为大写的I接口声明:interface Ijiekou    {        int Fun();    }//接口使用 class A:Ijiekou    {        public int Fun()        {            return 4; 

2017-04-26 13:53:41 136

原创 C# 类的扩展

类的扩展必须使用静态类,和静态函数  。被扩展的类型为this后面类型,quyu函数为int,这样就相当于给int类型增加了一个成员函数。sishewuru函数为double,此时相当于为double类型增加了一个成员函数 static class SSS    {        public static int quyu(this int i,int x)       

2017-04-25 18:17:32 1157

原创 C# 类的继承

定义一个类A, 然后定义一个类B继承自类A,此时A为父类(基类),B为子类(派生类)。称B继承自A,A派生出B。此时B继承 A的非私有部分。对于A的私有部分,是不能被继承的。A的构造函数: public A(string n)        {            name = n;        }B的构造函数:  public B(string nam

2017-04-25 16:04:40 449

mybatis-3-3.3.4源代码(可根据自己业务修改)

1.下载源代码项目 2.修改项目 3.找个pom.xml右键run-package 4.在项目中找到导出的jar

2019-05-08

spring时间间隔启动类

时间间隔启动类-自定义间隔时间后启动指定类

2019-05-08

疯狂工作流讲义 activiti

疯狂工作流讲义PDF,电子版。非常经典。京东销量最高的activiti书籍

2019-03-14

apache-tomcat-7.0.82-src.zip下载

apache-tomcat-7.0.82-src.zip下载 TOMCAT的源码

2018-03-15

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

TA关注的人

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