简单了解java ibatis #及$的区别和用法

2020-09-27
1.#和$两者含义不同 #:会进行预编译,而且进行类型匹配: $:不进行数据类型匹配. 示例:变量name的类型是string, 值是"张三" $name$ = 张三 #name# ='张三' 因此使用$就会报错,若要使用$的话,需要修改为'$name$'; 2.两者的实现方式不同 2.1)$ 作用相等于是字符串拼接, select * from users where name= $name$ 等效于 StringBuffer sb = newStringBuffer(256); s

谈谈python垃圾回收机制

2020-09-27
什么是垃圾回收机制? 首先,咱先来解释名词,垃圾回收是不是就是将没用的,废弃的东西回收起来. 在坐的各位都没有女朋友对吧,那难以想象你们的房间会是一个什么样子,可能会有很多垃圾,很凌乱,自己也不收拾.那当你有了女朋友了就不一样了,她会帮你收拾房间,把没用的垃圾都给你扔掉. 那在我们Python当中的垃圾回收承担的就是女朋友的角色,你们想象一下,你现在有一个轻度强迫症的女朋友一刻不停的跟在你的背后打扫卫生,你一放下脏碟子或者垃圾什么的,就已经帮你清理.打扫了 所以垃圾回收机制就是自动帮助我们管理内

Spring框架读取property属性文件常用5种方法

2020-09-27
1.方式一:通过spring框架 PropertyPlaceholderConfigurer 工具实现 <bean id="propertyConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="ignoreUnresolvablePlaceholders" value=&quo

基于spring三方包类注入容器的四种方式小结

2020-09-27
如果引用第三方jar包,肯定是不能直接使用常用注解@Controller.@Service.@Repository.@Component将类的实例注入到spring容器中.以下四种方法可以向spring容器中导入三方包中类实例 . 1 xml配置 这种情况大家用的比较多,就是在spring的xml文件中配置需要导入的bean.在springweb项目工程web.xml中 ContextLoaderListener或者DispatcherServlet的初始参数contextConfigLocat

python 5个实用的技巧

2020-09-27
下面我挑选出的这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助. 1. 字典推导(Dictionary comprehensions)和集合推导(Set comprehensions) 大多数的Python程序员都知道且使用过列表推导(list comprehensions).如果你对list comprehensions概念不是很熟悉--一个list comprehension就是一个更简短.简洁的创建一个list的方法. >>> some_list = [1,

详解C++中的自动存储

2020-09-27
C++有3种管理数据内存的方式即自动存储(栈存储).静态存储和动态存储(堆存储).在不同的方式下,内存的分配形式和存在时间的长短都不同. 下面对自动存储进行说明. 自动存储(栈存储) 对于函数的形参.内部声明的变量及结构变量等,编译器将在函数执行时为形参自动分配存储空间,在执行到变量和结构变量等的声明语句时为其自动分配存储空间,因此称其为自动变量(Automatic Variable),有的教科书也称其为局部变量,在函数执行完毕返回时,这些变量将被撤销,对应的内存空间将被释放. 事实上,自动变量

mysql8.0.20配合binlog2sql的配置和简单备份恢复的步骤详解

2020-09-27
第一步 安装 1.安装MySQL 2.安装Python3 [root@localhost /]#yum install python3 3.下载binlog2sql文件到本地(文件在百度云盘) [root@localhost /]#mkdir tools [root@localhost /]#cd tools [root@localhost tools]# ll total 317440 -rw-r--r--. 1 root root 317440 Sep 21 23:55 binlog2sql

springboot使JUL实现日志管理功能

2020-09-27
第一步:设置logging.properties的内容(放在resource文件夹下面) #输出两种方式 handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler .level= FINE #对日志的输出进行设置(主要是file类) #java.util.logging.FileHandler.pattern = %h/java%u.log #下面的是输出到制定的目录下 java.util.logging.

DevEco Studio 2.0开发鸿蒙HarmonyOS应用初体验全面测评(推荐)

2020-09-27
在9月10日召开的华为开发者大会上,宣布了鸿蒙2.0系统正式面世,同时开启了Beta版本的测试和开源网站.对于开发者来说两个最关键的点值得关注:一个是Beta版的开发工具,一个是开源网站. 一.开源网站 在开发者大会上宣布将HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线. 官网地址: OpenHarmony 官方源码地址 二.开发工具 鸿蒙使用基于Intellij IDEA深度定制研发的DevEco Studio作为其开发工具.官方下载地址如下: Dev

详解mysql慢日志查询

2020-09-26
慢日志查询作用 慢日志查询的主要功能就是,记录sql语句中超过设定的时间阈值的查询语句.例如,一条查询sql语句,我们设置的阈值为1s,当这条查询语句的执行时间超过了1s,则将被写入到慢查询配置的日志中. 慢查询主要是为了我们做sql语句的优化功能. 慢日志查询配置项说明 打开mysql,通过以下命令查看相关配置: mysql> show variables like '%query%'; +------------------------------+---------------------

Maven分模块开发执行指令失败的问题

2020-09-26
Maven工程分模块开发完成 父工程配置了 tomcat7插件,运行 run命令 执行run指令时失败,报错信息如下: D:\java\JDK8\bin\java.exe "-Dmaven.multiModuleProjectDirectory=D:\Idea2020\IntelliJ IDEA 2020.1\MavenProject_parent" -Dmaven.home=D:\apache-maven-3.6.3 -Dclassworlds.conf=D:\apache-mave

JS sort排序详细使用方法示例解析

2020-09-26
sort() 方法用于对数组的元素进行排序,并返回数组.默认排序顺序是根据字符串UniCode码.因为排序是按照字符串UniCode码的顺序进行排序的,所以首先应该把数组元素都转化成字符串(如有必要),以便进行比较. 语法:arrayObject.sort(sortby); 参数sortby 可选,用来规定排序的顺序,但必须是函数. 例一:按照字母顺序排序 例二:还是按照字母进行排序 纳尼,这次排序似乎没有得到想要的结果...... 如果要得到自己想要的结果,不管是升序还是降序,就需要提供比较函

Mybatis查询多条记录并返回List集合的方法

2020-09-26
实体对象如下: /** 使用lobmok插件 */ @Getter @Setter @NoArgsConstructor @ToString @EqualsAndHashCode public class Vendor { private String vend_id; private String vend_name; private String vend_address; private String vend_city; private String vend_state; privat

生产者消费者模型ThreadLocal原理及实例详解

2020-09-26
1.生产者消费者模型作用和示例如下: 1)通过平衡生产者的生产能力和消费者的消费能力来提升整个系统的运行效率 ,这是生产者消费者模型最重要的作用 2)解耦,这是生产者消费者模型附带的作用,解耦意味着生产者和消费者之间的联系少,联系越少越可以独自发展而不需要收到相互的制约 备注:对于生产者消费者模型的理解将在并发队列BlockingQueue章节进行说明,本章不做详细介绍. package threadLearning.productCustomerModel; /* wait/notify 机制

详解golang开发中select多路选择

2020-09-26
select 是 Golang 中的一个控制结构,语法上类似于switch 语句,只不过select是用于 goroutine 间通信的 ,每个 case 必须是一个通信操作,要么是发送要么是接收,select 会随机执行一个可运行的 case.如果没有 case 可运行,goroutine 将阻塞,直到有 case 可运行. select 多路选择 select写法上跟switch case的写法基本一致,只不过golang的select是通信控制语句.select的执行必须有通信的发送或者接

通过实例解析json与jsonp原理及使用方法

2020-09-26
1.json与jsonp的引入 在ajax中 JSON用来解决数据交换问题,而JSONP来实现跨域. 备注:跨域也可以通过服务器端代理来解决; 理解:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议. 2.JSON:是一种基于文本的数据交换方式,或者叫做数据描述格式,是否该选用它首先肯定要关注它所拥有的优点. JSON的优点: 1) 基于纯文本,跨平台传递极其简单: 2) Javascript原生支持,后台语言几乎全部支持: 3) 轻量级数据

python 动态绘制爱心的示例

2020-09-26
代码 import turtle turtle.bgcolor("black") turtle.pensize(2) sizeh = 1.2 def curve(): for ii in range(200): turtle.right(1) turtle.forward(1 * sizeh) turtle.speed(0) turtle.color("red", "red") turtle.begin_fill() turtle.left(14

Java线程安全解决方案(synchronized,ReentrantLock,Atomic)

2020-09-26
线程安全解决方案 synchronized,ReentrantLock,Atomic 使用场景描述 在实际开发过程中如果服务量,请求频繁,就会经常碰见并发,这时候不做处理就会出现很多非法数据.这时候就需要解决线程安全的问题,这时候就可以使用java当中的锁机制.常用有java关键synchronized.可重入锁ReentrantLock,还有并发包下的Atomic 或者Concurrent的安全类型. synchronized使用场景: 在资源竞争不是很激烈的情况下,偶尔出现并发,需要同步的情

python用tkinter实现一个简易能进行随机点名的界面

2020-09-26
今天学到Python 有一个名为 random 的内置模块,可用于生成随机数, 这个好玩~可以用来做为上课随机点名的程序了哈哈.. def main_cor(): import random i = random.randrange(0,29) with open('roll_call.txt', encoding='utf-8') as file_obj: contents = file_obj.read() stuff = contents.split(' ') s = stuff[i] s

Python 开发工具通过 agent 代理使用的方法

2020-09-26
Pycharm - Python 开发工具通过 agent 代理使用 1.下载 Pycharm 下载地址 2.支持 本代理包支持 2020 版本 3.参数 LFq51qqupnaiTNn39w6zATiOTxZI2JYuRJEBlzmUDv4zeeNlXhMgJZVb0q5QkLr+CIUrSuNB7ucifrGXawLB4qswPOXYG7+ItDNUR/9UkLTUWlnHLX07hnR1USOrWIjTmbytcIKEdaI6x0RskyotuItj84xxoSBP/iRBW2EHpOc