python版本替换批量迁移模块 在卸载python旧版本前收集旧版本的模块版本号pip freeze > requirements.txt安装新版本python之后执行:pip install -r requirements.txt -i https://pypi.doubanio.com/simple
IOC和工厂模式的关系 1、首先要搞清楚为什么要用反射机制?直接创建对象不就可以了吗,这就涉及到了动态与静态的概念。 例子解说:假设代码中需要判断用哪个数据库,当满足0条件,用mysql数据库,当满足1条件,用oracle数据库,用反射的概念则可以在代码中不明确具体用什么数据库,具体数据库可在配置文件中配置,而且也可以应对有更多数据库增加的场景,实现动态的切换数据库; 2、为什么说IOC的实现=工厂模式+反射?...
工厂模式的理解 1、使用工厂模式的原因(符合开闭原则)只用一句话创建一个实例对象,不关心具体创建过程(有些复杂的创建对象过程,比如创建一个人需要创建各个器官,如果代码需要频繁的创建人物模型时比较麻烦); 降低代码耦合度,使得代码扩展、维护方便;2、三种工厂模式简单的工厂模式 构成(例子):一个工厂类(factory)、一个抽象产品类(一种型号的手机)、多个具体产品类(创建不同内存的手机) 例子:...
java内存模型的理解 1、线程之间的通信;2、线程之间的同步;3、java内存模型 1、线程的通信方式:共享内存和消息传递共享内存:线程之间有公共状态,比如通过共享对象; 消息传递:线程之间没有公共状态,比如典型的传递方式wait()和notify();2、线程之间的同步(java的并发采用共享内存模型)针对共享内存的通信方式,程序员指定某个方法或者代码互斥执行; 针对消息传递的通信...
java垃圾回收算法原理 1、堆内存可以分成几块?2、每块使用什么方法进行垃圾回收?什么时候该回收?3、内存如何分配以及回收策略?4、java拥有垃圾回收机制,为什么还会发生内存泄漏? 1、堆内存可以分成三块:新生代、老年代和永久代。2、分代收集算法:标记清除、复制、标记整理算法新生代的存活周期比较短,适合使用复制算法。 新生代:eden区域和survive0和survive1(比例是8:1...
数据库锁的理解 事务:就是被绑定在一起作为一个逻辑工作单元的 SQL 语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过 ACID 测试,即原子性,一致性,隔离性和持久性。锁:在所以的 DBMS 中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可...
mysql引擎+B树 排序二叉树:左子节点一定小于根结点,右子节点一定大于根结点,查找比较方便,节省一半的可能。但节点位于同一边时查找效率得不到提升,所以需要平衡化处理。即平衡二叉树。 平衡二叉树(左右子数高度差绝对值小于1,这样可以使得总共比较节点的次数不超过树的高度) B树:平衡的多叉查找。 mysql是如何使用B树的?innodb的数据是靠主键组织起来的,所以innodb下创建的表必须指定主键。Innod...
Mysql引擎——MyISAM和IInnoDB Engine默认为MyISAM; MyISAM不支持事物,InnoDB支持,InnoDB每条sql语句被封装成一个事物,自动提交,影响速度,最好将多条sql语句放在begin和commit之间,组成一个事物提交; InnoDB支持行锁定,MyISAM支持之整个表的锁定; InnoDB支持外键,MyISAM不支持;...
mysql分页功能 语句1:select * from student limit 9,4语句2:slect * from student limit 4 offset 9// 语句1和2均返回表student的第10、11、12、13行 ,第一个参数表示从该参数的下一条数据开始,第二个参数表示每次返回的数据条数。 例2,通过limit和offset 或只通过limit可以实现分页功能。假设 pa...
mysql索引 Pramary key和unique index的区别: 主键一定是唯一索引 一个表中主键只有一个,但唯一索引可以多个 主键列不允许空值,唯一索引允许空值; 索引分类 普通索引 唯一索引:加速查询+列值唯一(可以null) 全文索引:对文本内容进行分词,进行搜索; 单列索引 多列索引:多列值组成一个索引,效率大于索引合并 空间索引 主键索引:加速查询+列值...
MongoDB和Mysql区别 mysql和MongoDB的区别?对应优点?mysql是关系型数据库,MongoDB是非关系型数据库。Mysql的优点:处理复杂事务,批sql(交易系统、订单系统、银行系统)。 MongoDB优点:更高的写入负载:侧重数据写入性能,而非事务安全; 储存对象数据方便,类可以直接序列化成JSON储存到MongoDB中。...
写代码过程中IDEA常用快捷键 注解:/**加回车; getter、setter:Control+N 导入包:option+回车 查找方法:command+点击方法 创建测试类:command+shift+t 全局查找:Command+shift+F 返回方法:Option+command+左 添加注释:command+shift or /** Try+catch:option+command+t...
git常用命令 初始化git仓库:git init 添加文件到仓库: Git add <file> (把文件修改添加到暂存区) Git commit -m <message> (把暂存区文件提交到当前分支) (Commit可以一次提交多个文件)回滚: 版本改变...
web.xml配置文件 初始化配置信息,比如sevlet、sevletmapping、listen、filter等,在其加载的过程中顺序依次为:context-param >> listener >> fileter >> servlet
Spring入门学习01 什么是spring?spring优点?IOC和AOP的理解?spring配置文件?Spring注解?1、spring是轻量级开源框架,核心是控制反转IOC和面向切面编程AOP2、优点: 降低组件之间的耦合度,实现软件各层之间的解耦。 可以使用容器提供的众多服务,如:事务管理服务、消息服务等等。当我们使用容器管理事务时,开发人员就不再需要手工控制事务....
git代码合并与冲突 场景:开发人员:A和B1、A拉取master分支:git pull orgin master;2、B拉取master分支:git pull orgin master;3、A在分支上开发功能上传到远程代码库,merge到远程master分支上;A创建新的分支release/dev1: git checkout -b release/dev1; A开发完功能将分支上传到远程:gi...
redis 连接问题Could not get a resource from the pool 1、连接池数目不够;2、端口错误;3、redis用完之后未释放;4、配置文件中的url连接地址;(可通过终端ping命令查看是否可以ping通)