JAVA核心面试知识整理.pdf
MyBatis 是一个小巧、方便、高效、简单、直接、半自动化的持久层框架,Hibernate 是一个强大、方便、高效、复杂、间接、全自动化的持久层框架。
平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数。和 CPU 使用率并没有直接的关系
一般的进程需要消耗 CPU、内存、磁盘I/O、网络I/O等资源,在这种情况下,平均负载就不是单独指的CPU使用情况。即内存、磁盘、网络等因素也可以影响系统的平均负载值。不过影响最大的是 CPU 使用率、CPU 等待和磁盘I/O。
他不仅包扩了正在使用CPU的进程,还包括等待 CPU 和等待磁盘I/O的进程。
之前使用sphinx时,并没写文档,因为的确很容易上手,但使用一段时间才发现,sphinx小坑其实蛮多的。重新梳理下把。
sphinx安装和基本初始化,小白入门可参考第一篇参考文献,里面有较完整的步骤描述。基础步骤并非本文重点,所以做了简化处理。
前置条件,成功安装odb,odb-mysql全套软件(参考之前博文)
原始官方demo跑不起来
官方文档demo地址:https://www.codesynthesis.com/products/odb/doc/manual.xhtml#2
需要另外参考:odb访问mysql数据库(odb的简单用法1):https://blog.csdn.net/woaichanganba/article/details/79841356
但其实这个文章,写的也不完整,需要结合官方文档才能跑起来。
最近计划把python的web项目迁移到cpp上。需要对接mysql,sqlite数据库。
调研了下目前cpp对接mysql大约三种解决方案。
源代码和相关脚本参考github:
最近公司转到cpp语言研发了。上次使用cpp还是上本科时了,当时用的是codeblocks,现在目测vscode成为主流。
由于vscode本身并不是ide,只是增强版本文本编辑工具。所以配置较麻烦,配置后使用也有一些不大符合习惯的地方。
整理下自己使用过程中一些问题吧。
之前主用Python作为项目开发语言,将项目迁移到arm边缘盒子上后发现arm的cpu不给力,软件速度低于预期,所以计划将部分程序改为c++实现。于是乎,复习了c和c++的一些知识,毕竟十多年未用了(上次用还是本科读书时)。未来一段时间可能将c++作为主力研发语言,之前上学那会使用的codeBlocks貌似也不怎么火了,最近风头正盛的时vscode,打算用vscode进行研发。
首先,vscode只能看做加强版的文本编辑器,不能看做IDE。为何?因为它的配置真的麻烦,对于我这种用过CodeBlocks,eclipse,IntelliJ IDEA,pycharm等IDE工具的人,真的认不下vscode的IDE身份。所以大家有个预期,配置有点小麻烦,照着步骤做就行。
以下操作都是在manjaro系统上完成,VSCode版本1.50.1。
makemigrations是django中的常用操作,但是坑也比较多。
坑的主要原因,使用django的manage.py makemigrations,django会加载整个项目,而不仅仅是models.py。而这会引发一系列问题。
一不留神,之前的域名证书过期了。由于是Let’s Encrypt免费证书,需要3个月手工续期一次,一年就得4次,还是有点麻烦,搞成自动化多好。
以下操作均在服务器上执行(ubuntu16,腾讯云)
nook2是自己使用的第一款电纸书,也是目前为止满意度最高的电纸书,搭配Orionviewer切边+横屏简直就是6寸阅读扫描版pdf的利器。
由于之前折腾过,所以这次刷机还是比较顺利的(刷机是在win10下操作的,个人体验最佳的是行云版,所以这次刷的也是行云版)。一个弄了3h左右,下载东西占了2h,折腾了1h就搞好了。
锁是计算机协调多个进程或线程并发访问某一资源的机制。锁保证数据并发访问的一致性、有效性;锁冲突也是影响数据库并发访问性能的一个重要因素。锁是Mysql在服务器层和存储引擎层的的并发控制
作为软件研发人员,windows性能不够强劲。虽然系统启动很快,但一旦开启软件过多,占用内存过大,很容易遇到卡死,无响应等问题。linux作为跑在大多数服务器上的系统,对研发人员有较大吸引力。
Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。
binlog属于逻辑日志,是逻辑操作。innodb redo属于物理日志,是物理变更。逻辑日志有个缺点是难以并行,而物理日志可以比较好的并行操作。
在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。
redis本身不处理分布式事务或者说它的事务非常弱,因为redis本身是单线程的;
之所以很多时候出现redis的线程安全问题是因为应用本身是分布式的;这块处理办法基本都是redis+lua解决分布式安全问题
pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。
插件安装:pip install pytest-cov
命令:pytest –cov=src –cov-report=html
src:python源代码路径(文件夹形式,不支持模块or模块.py等形式)
注意:文件夹下所有符合文件名:test_._test.py都必须能跑通,否则html报表中只有函数定义,没有函数内的代码执行情况。
Update your browser to view this website correctly. Update my browser now