Easter79 Easter79
3年前
springmvc+logback项目日志配置
  最近在做项目的时候用到logback作为项目日志,而抛弃了log4j。具体为什么用logback,我总结了以下几点:  1.log4j和logback的创作者是同一个人,logback是log4j的升级版,是对log4j核心的一个封装。  2.性能提升,在某些特定场景上执行速度提升10倍以上,同时初始化内存更小  3.扩展文档,丰富的并且详细
android保活,有效的代码保活
需要APP暗屏情况下进行后台执行一些任务,但是google现在为了优化手机的体验,以及流畅性,做了很多的限制,电量优化,休眠模式,以及进入深度睡眠状态,进入深入休眠状态系统会根据黑白名单的应用进行管理,杀掉非白名单的后台进程以及网络请求;Android系统的优化是守护后台进程造成了很大困扰,线程之间守护已经是不在可靠,使用wakelock耗电过大也会是系统杀
李志宽 李志宽
3年前
电脑关机了,内存就没数据了吗?
大家好,我是周杰伦。提到网络攻击技术,你脑子里首先想到的是什么?是DDoS?是SQL注入、XSS?还是栈溢出、RCE(远程代码执行)?这些最常见的网络攻击技术,基本上都是与网络、软件、代码、程序这些东西相关。这也好理解,计算机网络安全,不跟这有关,还与什么有关系?今天跟大家介绍一下,攻击技术,除了这些,还有一些脑洞大开的方式,它们可能跟时间、震动、频率、温度
Stella981 Stella981
3年前
JVM必备指南
简介Java虚拟机(JVM)是Java应用的运行环境,从一般意义上来讲,JVM是通过规范来定义的一个虚拟的计算机,被设计用来解释执行从Java源码编译而来的字节码。更通俗地说,JVM是指对这个规范的具体实现。这种实现基于严格的指令集和全面的内存模型。另外,JVM也通常被形容为对软件运行时环境的实现。通常JVM实现主要指的是HotSpot。JVM
Wesley13 Wesley13
3年前
11月面试总结
11月初启明星辰面试启明星辰9月多的时候,来我们做宣讲会,当时只是想过去问问企业安全做什么,问问实习的事情并没有想过去实习。结果到哪直接就面试了(去的时候都没拿简历~)。第一次面试1、问了下怎么接触安全的?2、问了下sql注入的种类?(可能前面面的人都不是安全方向的,毕竟电力大学。。)3、php代码执行的函数有哪些?(eval(
Stella981 Stella981
3年前
NET Core Web API下事件驱动型架构CQRS架构中聚合与聚合根的实现
NETCoreWebAPI下事件驱动型架构在前面两篇文章中,我详细介绍了基本事件系统的实现,包括事件派发和订阅、通过事件处理器执行上下文来解决对象生命周期问题,以及一个基于RabbitMQ的事件总线的实现。接下来对于事件驱动型架构的讨论,就需要结合一个实际的架构案例来进行分析。在领域驱动设计的讨论范畴,CQRS架构本身就是事件驱动的,因此,我打算首先介
Wesley13 Wesley13
3年前
C语言利用va_list、va_start、va_end、va_arg宏定义可变参数的函数
在定义可变参数的函数之前,先来理解一下函数参数的传递原理:1、函数参数是以栈这种数据结构来存取的,在函数参数列表中,从右至左依次入栈。2、参数的内存存放格式:参数的内存地址存放在内存的堆栈段中,在执行函数的时候,从最后一个(最右边)参数开始入栈。因此栈底高地址,栈顶低地址,举个例子说明一下:voidtest(inta,floatb,ch
Easter79 Easter79
3年前
SQL JOIN语法,以及JOIN where 和and区别,还有where和join效率问题。
语法join用于根据两个或多个表中的列之间的关系,从这些表中查询数据。Join和Key有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行join。数据库中的表可通过键将彼此联系起来。主键(PrimaryKey)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这
Wesley13 Wesley13
3年前
Java 源码 —— ConcurrentHashMap 读为什么不加锁
最近在复习准备一些面试,偶尔会抽些零碎时间逛一下之前关注的公众号,看看有没有哪些被自己遗漏的地方,或者是一些能补充知识的文章,比如前几天看到一篇讲MySQL插入100W条数据要花多久的文章,点进去看到了久违的PreparedStatement,顺便复习了一下,原来数据库不仅能识别纯的SQL还可以识别执行计划,PreparedStatement利用了连接池
Stella981 Stella981
3年前
Docker与自动化测试及其测试实践
<h2Docker与自动化测试</h2<p对于重复枯燥的手动测试任务,可以考虑将其进行自动化改造。自动化的成本在于自动化程序的编写和维护,而收益在于节省了手动执行用例的时间。简而言之,如果收益大于成本,测试任务就有价值自动化,否则受益的只是测试人员的自动化技能得到了提升。利用Docker的快速部署、环境共享等特性,可以大大减少自动化的成本,使很