第三章 spring框架与log4j日志框架整合
若 spring 与日志框架整合,日志框架就可以在控制台中,输出 Spring 框架运行过程中的⼀些重要的信息,便于了解 Spring 框架的运行过程,利于程序的调试。 默认日志框架 Spring 1.x、2.x、3.x 早期都是基于commonslogging.jar Spring 5.x 默认整合的日志框架是logback与log4j2 整合 log4j 日志框架 在 Maven 内引入log4j依赖,更换 spring 框架默认的日志框架 12345678910<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.32</version></dependency><dependency> <groupId>log4j</groupId> <artifactId>log4j< ...
第二章 Spring程序初步使用
Maven 依赖引入 一般来说使用Maven进行 jar 包的管理,maven 的使用在此处不多做解释 在pom.xml中导入spring-context依赖 12345<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.13</version></dependency> Spirng 核心 API Spring 核心的 API 为ApplicationContext,它是一个工厂类,用于对象的创建。同时它为了屏蔽实现的差异而被设计成了一个接口,常用的实现方法存在两个 web 环境下使用XmlWebApplicationContext()生产对象,但需要在 maven 中导入spring-webmvc的依赖才可以使用 其他环境下使用ClassPathXmlApplicationContext()生产对象 对 ...
第一章 Spring简介与工厂设计模式
Spring 简介与工厂设计模式 引言 Spring 是目前主流的 Java Web 开发框架,是 Java 世界最为成功的框架。该框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力。 Spring 框架不局限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。Spring 框架还是一个超级粘合平台,除了自己提供功能外,还提供粘合其他技术和框架的能力。 Spring 诞生的环境背景:EJB(Enterprise Java Bean)是重量级的框架。 重量级的框架带来两个问题 运行环境苛刻 代码移植性差 什么是 Spring? Spring 是⼀个轻量级的 JavaEE 解决方案,整合众多优秀的设计模式。 轻量级的定义 对于运行环境没有额外要求的框架,代码移植性高:不需要实现额外接口。 JavaEE 的解决方案: graph TB Spring-.->DAO Spring-.->Controller Spring-.->Service struct2-->Controller m ...
Minecraft开服指南
关于游戏会话 !!重要!! 千万不要在当前链接内启动游戏,否则当你链接关闭之后游戏也跟着一起关闭了,但是当你位于 screen 创建的会话中时,直接关闭链接,screen 会将你的会话自动离线,转入后台运行。 也不要启动多个游戏,它们会争抢同一个端口25565 连接服务器,先查看screen会话内是否存在离线的游戏会话(离线指转入后台运行,这是我们所需要的状态) 1screen -ls 若状态为Detached,则该会话离线,可以正常恢复该会话 1234[root@iZwz9243apyfngip0eceqxZ minecraft]# screen -lsThere is a screen on: 83045.mc (Detached)1 Socket in /run/screen/S-root. 如果因为某种原因,其中一个会话死掉了,状态为dead,可以使用screen -wipe清除该会话。 恢复会话指令如下 1screen -r mc 创建会话 当然有的时候,你可能会看到如下提示 12[root@iZwz9243apyfngip0eceqxZ ...
第二次周赛题解
第二次周赛的题解,本次的题目以 3 为特征,ABC 题都与 3 有关,我觉得吧,不也挺好的吗.jpg TA 那你可曾听说过我? 听说有些人是不会数 3 的。 输入一个平衡三进制整数,转换为十进制输出 平衡三进制以-1,0,1为基本数码,若用F表示-1,规定第一个非0的数码为F则是负数,为1则是正数 1F 表示为 2,即 31×1+30×(−1)=3−1=23^1\times1+3^0\times(-1)= 3-1 = 231×1+30×(−1)=3−1=2 F1 表示为 -2,即 31×(−1)+30×1=−3+1=−23^1\times(-1)+3^0\times1 = -3+1 = -231×(−1)+30×1=−3+1=−2 1F10 =27−9+3=2127-9+3=2127−9+3=21 输入格式 一个字符串(只含有F,1,0三种字符),代表一个平衡三进制整数。 输出格式 平衡三进制整数对应的十进制整数 输入样例 1FFF 输出样例 1-13 数据范围与提示 保证对应的十进制整数在 16 位整型范围内 solution 其实跟二进制转换十进制是一个道理,只 ...
Mybatis学习笔记
MyBatis SqlSessionFactory 及其常见创建方式 使用 MyBatis 首先是使用配置或者代码去生产 SqlSessionFactory,而 MyBatis 提供了构造器 SqlSessionFactoryBuilder。 它提供了一个类 org.apache.ibatis.session.Configuration 作为引导,采用的是 Builder 模式。具体的分步则是在 Configuration 类里面完成的 当配置了 XML 或者提供代码后,MyBatis 会读取配置文件,通过 Configuration 类对象构建整个 MyBatis 的上下文。 注意,SqlSessionFactory 是一个接口,在 MyBatis 中它存在两个实现类:SqlSessionManager 和 DefaultSqlSessionFactory 一般而言,具体是由 DefaultSqlSessionFactory 去实现的,而 SqlSessionManager 使用在多线程的环境中,它的具体实现依靠 DefaultSqlSessionFactory,它们之间的关系如图 ...
HashMap学习笔记
HashMap 学习笔记 HashMap是 Java 开发中常用的一种数据接口,常用于完成key:value结构的存储。而同时,HashMap又是HashSet、HashTable、ConcurrentHashMap这三种数据结构的基础。 基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用NULL 值和 NULL 键。(除了非同步和允许使用 NULL 之外,HashMap 类与 Hashtable 大致相同。) 此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性能。迭代 collection 视图所需的时间与 HashMap 实例的"容量"(桶的数量)及其大小(键-值映射关系数)成比例。 所以,如果迭代性能很重要,则不要将初始容量设置得太高(或将加载因子设置得太低)。 基本结构 HashMap 的基本结构是一个可以扩容的动态数组。该动态数组有着以下属性: 属性值 默认值 属性说明 capacity 161616 目前数组的长度。为 ...
DNS解析服务
国内免费公共 DNS 域名解析服务收集 以下收集的都是目前全球范围内 (更多数是国内的) 比较靠谱的免费公共 DNS 服务的 IP 地址。由于地区差异,同一组 DNS 服务器在不同国家不同地区的表现并不完全相同,解析速度、响应时间等都有所区别,所以建议大家以自行测速结果为准,多多对比再行选择咯。 ★ DNSPod Public DNS+ Public DNS+ 是属于 腾讯云旗下的公共 DNS 服务。拥有 80 多条国内线路和 4 条海外线路,有 BGP Anycast 技术,也是国内首家支持谷歌 ECS (edns-client-subnet) 协议的公共 DNS 解析服务。它只使用一个 IP,但有三地集群容灾和秒级自动故障切换,在国内大多数地方的测速数据都非常好,值得推荐。 Public DNS+ IPv4 地址首选:119.29.29.29 ★ AliDNS 阿里公共 DNS 解析服务 阿里公共 DNS 是 阿里云 推出的免费 DNS 递归解析系统,宣称全球数百台服务器组成的集群,拥有充足的带宽资源,目标是成为国内互联网基础设施的组成部分,支持 BGP Anycast 以及 ...
完美的markdown体验——Typora+PicGo图床
码云已经禁止作为图床使用,需要使用其他图床(如各类对象存储) 写这个也是为了解决 markdown 这门标记语言的一个小问题:它不能直接插入图片到.md 文件内,而是通过引用的方式来插入,那么问题来了,若是将文件上传到博客园的时候就会丢失图片链接。 对于这个小瑕疵,有两个解决办法: 1.将图片转码为 base64 编码插入 缺点是看源码的时候非常瞎眼而且非常的卡顿……(三张图就开始卡,Typora:我仿佛承受了不该属于我的压力) 这是一张 60kb 的小图编码出来的 Base64 图片……各位看看就好 先不说这个效果怎么样,光是超长的剪贴板就已经够我喝一壶了,我觉得不行 2.利用图床来进行调用图片链接 这个就是今天的主角了,首先贴个百度百科,看看图床的定义是什么: 图床一般是指储存图片的服务器,有国内和国外之分。国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度。国内也分为单线空间、多线空间和 cdn 加速三种。 简单来说 要有网,而且不能太菜 我之前试了 GitHub,但是因为一些不可描述的原因,GitHub 的访问速度感天动地,所以我们直接 pass 掉 ...
2020年蓝桥杯校赛题解
T1 除自身以外数组的乘积 给你一个长度为 4 的整数数组 nums,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 样例输入: 1[1,2,3,4] 样例输出: 1[24,12,8,6] 说明: 请不要使用除法,且在 O(n)O(n)O(n) 时间复杂度内完成此题。 这个题的正解限制的很死,但是相对来说难度不高 主要是因为 O(n)O(n)O(n) 时间复杂度限制 不允许使用除法 正常思维下第一时间想到的应该是双层循环,外层循环循环数组 output[i] ,内层循环循环数组 nums[k] ,然后通过 if 判断进行乘算 但是这个算法是 O(n2)O(n^2)O(n2) 的,不符合题意 那么下一步的想法是首先算出四个数总乘积,再对其做除法得到四个输出,但是同样不符合题意。 那么就只剩下不多的做法了,我的解法直接上代码会比较快。 123456789101112131415161718192021222324#include <stdio.h>int main(){ i ...