c语言版本认识
主要讲解C语言从开始到目前的版本发展,以及新版本c语言标准对应支持的gcc版本。
C语言版本发展表格
主版本
C89
AMD1
C99
C11
别名
C90ANSICX3.159-1989ISO/IEC 9899:1990
C94C95
ISO/IEC 9899:1999
ISO/IEC 9899:2011
标准通过时间
1989
标准发布时间
1990
1995
1999
2011
GCC使用参数
-ansi-std=c90-std=iso9899:1990
-std=iso9899:199409
-std=c99-std=iso9899:199
-std=c11-std=iso9899:2011
GCC版本
GCC4.7.x
GCC使用此版本且带扩展时用参数
-std=gnu90
-std=gnu99
-std=gnu11
C语言实现时所对应的库
<float.h><limits.h><stdarg.h><stddef.h>
<iso646.h>
<stdbool.h& ...
两种编译tomcat源代码运行方式-maven与ant
解决直接通过idea编译运行tomcat源代码
ant方式ant是一种基于java的build工具,与maven的显著区别是ant的依赖关系需要编写者自己去确定,maven将这个过程自动化了。
安装ant从apache官网上下载ant,然后环境变量中创建ANT_HOME的路径,将%ANT_HOME%/bin添加到path后面。在cmd中ant -version得到如下图所示,则安装正确:
下载编译运行Tomcat的依赖通过cmd或powershell在tomcat源码路径下面运行以下命令
1ant ide-intellij
注意:依赖可能下载失败,可以采用浏览器下载,然后放置到c:/users/登录win的用户名/tomcat-build-libs中。
IDEA配置环境与添加依赖包
配置IDEA中的环境,主要配置ANT_HOME和TOMCAT_BUILD_LIBS,如下图所示:
项目中加载上一步下载的依赖
注意:在加载依赖过程中需要额外增加一个ant的jar包,主要用于后续编译使用,如上图圈红部分
IDEA编译Tomcat在IDEA中将Tomcat源码中的buil ...
springcloud工程搭建pom依赖
本文主要讲解SpringCloud项目搭建的时候涉及的pom文件依赖内容,以及对maven的字段的解释。在SpringCloud项目搭建过程中使用多模块的形式,因而主要解释多模块情况下pom的依赖问题
SpringCloud父项目的pom依赖123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687<!-- 统一管理jar包版本 --> <properties> <!--https://maven.apache.org/pom.html#Properties--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <proj ...
springboot源代码解析(1)
主要对spring boot的源代码进行解析,解析的内容包括启动顺序、代码的作用和设计代码的设计模式。第一次内容目标需要解决的问题关于springboot的配置的加载!
Spring Boot的入口类12345678@SpringBootApplicationpublic class SpringBootBestPracticeApplication { public static void main(String[] args) { SpringApplication.run(SpringBootBestPracticeApplication.class, args); } }
以上入口类主要使用SpringApplication中的方法,跟踪代码进入run
123456789101112public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) { ...
shell的基本认识
对shell的种类进行简单的介绍,主要还是集中在shell的变量、变量比较、条件控制与函数的介绍。其中会涉及到一些判断命令的使用,其中将会进行特殊的介绍!
shell的种类Linux中自带的shell,可以检查/etc/shells文件内容。每个发行版本可能不同
/bin/sh:已经被/bin/bash所替代
/bin/bash:就是Linux默认的shell
/bin/ksh:由AT&T Bell发展来的,兼容bash
/bin/tcsh:整合C Shell,提供更多功能
/bin/csh:已经被tcsh替代
/bin/zsh:基于ksh法阵来,功能更强大的shell
tips:后续有关变量、控制语句、逻辑判断采用的全部都是bash
bash的变量bash的变量有文本(字符串)与数字类型,其中数字类型最大值为2^32。在变量中可以定义数组和map类型。变量的使用采用${变量名}或$变量名
文本类型定义文本类型可使用双引号""或单引号'',其中区别是双引号可以保留变量原本的性质,单引号中的内容只是文本。如下代码的v ...
Spring Boot第二次学习-关于Spring Boot的日志配置
阅读官方文档,明确Spring Boot采用的日志系统形式与共存关系,Spring Boot日志的高级配置,Spring Boot日志文件系统的依赖关系,日志接口与日志实现对Spring Boot日志输出的影响简谈,lombok与Spring Boot的结合使用
一、Spring Boot采用日志系统形式与共存关系
Spring Boot uses Commons Logging for all internal logging but leaves the underlying log implementation open. Default configurations are provided for Java Util Logging, Log4J2, and Logback. In each case, loggers are pre-configured to use console output with optional file output also available.
By default, if you use the “Starters”, Logback ...
springboot第一次学习-搭建一个简单的项目
阅读官方文档,官方文档中对于springboot的简单项目搭建的基本解释。
SpringBoot中spring-parent的作用
Spring Boot provides a number of “Starters” that let you add jars to your classpath. Our applications for smoke tests use the spring-boot-starter-parent in the parent section of the POM. The spring-boot-starter-parent is a special starter that provides useful Maven defaults. It also provides a dependency-management section so that you can omit version tags for “blessed” dependencies.
根据文档的翻译可以简单概括为spring-boot-starter-parent不提供依赖 ...
springcloud与springboot的技术选型
解决springcloud需要依赖的springboot版本,其中有基本的对其它技术的要求!
选择springcloud的版本
springcloud的版本以英国的城市地点为命令方式,博主写博客时的最新版本是Hoxton.SR7
选择springboot版本
从springcloud的overview中查看对应的版本信息,页面往下拉
从springcloud接口中获取对应版本信息
从对应的springcloud版本的api文档中进去查看对应的版本信息
maven版本选型
最新的项目全部建议重新从maven官网下载最新的maven,工具也建议采用最新。
注意:maven对中央仓库进行了更新,必须采用maven3获取远程仓库
springcloud-alibaba选型
采用2.2.1.RELEASE,主要从接口中获取
java版本
java8
hexo的提交域名重新绑定
hexo每次重新deploy的时候都需要对自定义的域名进行重新绑定。解决方案是增加CNAME文件
快速开始增加CNAME文件12在hexo的source目录下增加CNAME文件填入域名,例如:www.hepng.cool
修改配置文件12注:目前此处修改不明白什么意思在hexo的_config.yml中的skip_render处增加CNAME。注意填写时有空格
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment