自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 事务隔离级别

首先把前提和场景设好:1.两个线程要操作数据库,本质是两个事务要操作数据库,读也好,改也好,插也好,删也好。2.两个事务所跨时区一定存在交集,在操作同一行时候,并且至少有一个事务对行中数据有修改。3.两个事务地位相同,虽然一个事务中会有就会有更删改查的操作,但我们只关心与另一个有交集的事务在影响同一步时的情况。以同一时间,两个事务对同一行的操作,并且必有一个事务是对该行的更改操作。暂不考虑增删操作,只考虑读改操作。那么就只有两种情况,A事务读,B事务改;AB都是改,一般这种都是由行锁保证顺序执行,不会

2020-09-18 08:32:40 104

原创 什么时候加volatiel关键字

1.volatiel只保证可见性,不保证原子性。2.涉及多线程修改的共享变量,那么修改这个变量的代码区域需要保证同步。3.一个函数内,例如有5句代码,其中2-4是对共享变量的修改,如果第一句有使用共享变量,那么共享变量的值可能已经被加载到某线程的栈内存,而另外线程对共享变量已经做了修改,如果不加volatiel那么两个线程分别反回各自线程内存的值。总结:共享变量只要存在于同步区域之外,就必须加volatiel共享变量只要赋值就涉及原子性,靠同步解决。共享变量只要出现在同步区以外就涉及可见性,靠vo

2020-07-15 11:21:37 560

原创 什么是跨域请求

假如你当前页面是http://www.csfk.com里面有个请求链接http://www.icbc.com/transform?userId=12345&money=10000且这个链接已经将要接收转帐的人和金额已经写在请求链接了,但对你来说你并不知道这个链接有这个功能。当初你在登陆www.icbc.com成功时有cookie从服务端返回并被浏览器存在本地,如果可以跨域访问,那么当点击上面转帐链接时,浏览器根据domain,path,secure等的匹配,将匹配上的cookie都携带到www

2020-06-11 17:19:18 278

原创 Cookie学习

1.服务端为什么要设置cookie?为什么会设置多个cookie?2.服务端设置cookie的代码是如何写的?3.服务端在一个http请求的哪个阶段进行cookie设置?4.随response返回的cookie在浏览器端为什么以域名为单位来储存?5.http请求时为什么会将域名下的所有cookie携带到服务端?6.cookie在本地可以修改吗?失效时间可以修改吗?...

2020-06-11 15:59:54 124

原创 区分运行时导常和非运行时导常

1.运行时异常,也就是编译器认为每个程序员都是牛逼的,不会写出这种异常出发,这种异常要么是程序员可控的,比如,空指针异常,要么就是程序员不可控,并且是由机器自身原因造成。2.检查时异常,是编译器认为这些异常是外部原因导致程序员不可控,提示程序员自己要catch...

2020-03-28 17:30:55 191 1

原创 bash常见命令解释

> 输出重定向,< 输入重定向0:标准输入,1:一般标准输出,2:错误标准输出2>&1 :表示将标准错误输出重定向到一般的标准输出,> 右边一般是文件,如果是标准输出需要加上&符号&:表示后台执行nohup:nohup来运行需要shell退出后继续执行的程序...

2020-03-22 13:33:48 303

原创 MySql数据库

SQL语句中字段用英文状态下的`号,字符串用’int类型长度默认是11create_time的默认类型是timestamp,update_time最好设置on update金额使用decimal,(长度,小数位数)...

2020-03-22 11:11:09 257

原创 Eureka学习笔记

客户端向服务端注册不一定需要服务端已经开启,但是一定需要指定服务端的ip和port客户端需要使用EnableDiscoveryClient注解服务端需要开启EnableEurekaServerEureka作为服务端时候,需要设置自身向外暴露的port,作为client把其当做服务端注册时候指定的server-url中port。服务端在开启的那一刻,自己本身也是客户端,所以也要指定注册的服...

2020-03-21 23:56:23 87

原创 红黑树最透彻原理

红黑树颜色性质五点:1.根节点黑,2.节点颜色要么红要么黑,3.叶子节日NIL为黑,4.红色节点子节点为黑,5.根节点到每个叶节点上黑节点数一致要点:1.红黑树讨论的不是二叉查找的问题,在已具备二叉排序性的基础上讨论红黑性2.红黑性的性质五能保证任何路径下,最多节点数顶多是最少节点半两倍(一条全黑,另一条黑红相间,又要满足性质五)3.新插入点并不破坏排序性(先就要实现)2.为了不坏破性...

2020-03-15 09:17:42 298 1

原创 CountDownLatch和Join区别

1.CountDownLatch继续运行的指标是countDown为0,不管子线程是否执行完2.join一定要子线程执行完必

2020-03-15 09:02:11 116

原创 关于递归求解--子问题划分的分析思路总结

严谨分析输入规模缩小的对象:有的输入不能减小。要论证当前划分的子问题一定是能够求解出母问题。递归往往没有子问题合并的过程,而动态规划有。递归函数的特点是:满足任意规模的输入。字符串问题的输入规模的最好靠脚标缩小来达到目标。递归的输出不是单个意义的解决,而是结果的集合的时候,最好将结果的输出放到递归函数之中,不然对每一级递归函数结果的操作都是n数量级的。按照一定顺序输出的问题,大多是递...

2019-10-19 14:30:23 1388

原创 代码语言的通俗解释

新建变量赋值表达式:把A框里面的值倒入B框,A框相当于空着脚标赋值:i = j - 1,脚标i指向j-1的地方,指向标的移动数组元素内部赋值表达式:数组元素位置的交换...

2019-09-10 14:42:36 204

原创 深拷贝 浅拷贝 赋值

深拷贝 浅拷贝 赋值赋值:class Teacher { String name = "王老师";}class Student{ String name = “小A”; Teacher teacher = new Teacher();}Student s1 = new Student();Student s2 = s1;s1 == s2,指向的内存区域相同拷贝:cla...

2019-08-23 16:11:25 158

原创 开发新特性代码提交的正确姿态(仅仅自己本地开发,不与他人协作)

clone 代码创建新的特性分支,例如local_feature,千万别嫌麻烦就在当前分支(current_branch)开发在新的分支上面不断的commit,message随便写都没关系切换到local_feature分支,git rebase -i commitId,commitId为当初clone时候的最新的commitId,然后决定哪些commit message需要修改,合并和删...

2019-06-12 19:24:38 148

原创 利用Gradle将自研第三方jar包上传到nexus(maven私库)

apply plugin: 'maven'apply plugin: 'java'group = 'com.xx1.xx2' //相对于maven私服仓库地址的路径version = '1.3.3'def url = 'http://xxxxxxx'uploadArchives{ repositories{ mavenDeployer{ repository(url: ur...

2019-05-17 16:31:32 1263

原创 Service组件特点

已经bindService成功,再次bindService时候,serviceConnection不会回调;没有bindService成功,但是却调用unBindeService,会报异常。所以,unBindService必须根据bindService的返回值来确定是否需要unBindService;...

2019-04-28 15:47:57 567

原创 cmakelist.txt编译android so文件笔记

在CMakeList.txt里面不指定lib的output路径的情况下,会默认在build/intermediates/cmake/release文件夹里面生成target_link_libraries里面指定的so文件,如果指定输出文件夹为src/main/jniLibs,那么如果点击assemblerelease生成apk时候,会先在build/intermediates/cmake/rel...

2019-04-24 21:45:11 351

原创 减小so文件体积

android-ndk-how-to-reduce-libs-size

2019-04-24 16:39:37 1261 1

原创 对AIDL生成的interface文件进行裁剪

一般的情况下,服务端,客户端在同样的包路径下载存放同样的.aidl文件,生成同样的interface文件。服务端继承interface文件创建一个xxxServiceBinder.java的文件,实现interface文件然后再继承Service类创建一个xxxService.java的文件xxxService.jav里面的onCreate函数里面创建xxxService类的对象,...

2019-04-24 15:29:08 199

原创 将java源码打成jar包,打包后java文件变成class文件

以打包zip4j的源码为jar包为例子:step1 建立Zip4j文件夹,在其中再建立src文件夹,然后将zip4j的源码放入src文件夹中,即net文件夹及其下面的所有子文件夹放入其中(zip4j的源码是的第一层文件夹就是net)。step2 在Zip4j目录下放入build.gradle文件,内容如下:apply plugin: 'java'sourceSets{ main{...

2019-04-24 14:46:20 2189

原创 签名加密机制

1. 【数字签名】如果我是数据的接收者,我会接受源数据和用私钥加密后的源数据的摘要信息两部分数据。我手里会有数据源端提供给我的公钥,用来解密信息源发送过来的用私钥加密后的摘要信息,如果能解密说明该摘要信息的信息源可信。然后自己对源数据在本地提取摘要,与解密后的摘要信息进行对比。----数字签名解决信息源真实,数据没有改动的问题。数字签名就是指对自己要发布的数据的摘要用私钥加密后的信息。数据...

2019-02-15 11:28:27 379

原创 通过CmakeLists.txt或Android.mk向Android工程添加c++代码

一、Cmake Build /main/.Java-&gt;main/.cpp-&gt;app/CmakeLists.txt-&gt;app/build.gradle1.创建java侧接口文件目的是以后将这些native方法当java方法使用,java侧只关心这几个方法。publicclassTestJNI{ //加载.so库: //1.加载之后,sayHello就与so库里面的...

2018-12-17 19:39:05 1825

原创 水滴屏全屏适配方法(华为Mate20手机)

//在Activity里面通过getWindow()获取window参数,然后再onCreate()函数里面调用下面的函数public static void setFullScreenWindowLayout(Window window) { window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LA...

2018-10-30 09:39:08 12152 3

原创 根据文本的编码类型读取文本

//识别文件编码方式之后再对文件安装识别的编码方式进行读取 public static String[] getLabelArrays(AssetManager mgr) { BufferedReader reader; StringBuilder result = new StringBuilder(); try { ...

2018-10-30 09:22:12 178

原创 如何将AI模型集成到android应用(app)中

HiAI 模型集成应用场景和开发指南&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;该开发指南可以指导Android手机应用开发者将常见深度学习框架(Caffe、Tensorflow、Coreml、Padd

2018-10-30 09:13:47 5422 2

原创 git push 报错:remote: Permission to XXXA/xxxx.git denied to

mac上面,通过git clone 从其他个人账户clone的代码想提交,与自己的主账户冲突:在这个里面输入“钥匙串”:显示下面界面:删除后重新提交会提示重新输入用户名和密码,重新输入之后即可解决。...

2018-10-29 16:12:38 1681 1

原创 ArrayList与LinkedList区别

1.选择的特征:插入与删除操作多则选择LinkedList,否则就选择ArrayList2.内部容器ArrayList: private transient Object[] elementData;LinkedList:private static class Node&amp;lt;E&amp;gt; { E item; Node&amp;lt;E&amp;gt; next; // 指向下一个节点...

2018-10-09 11:36:58 115

原创 Android全屏设置方法

1.去掉状态栏requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);2.去掉标题栏ge...

2018-09-29 14:41:47 391

原创 android studio 8.1.0 相机调用

1.注意需要在activity中动态获取权限。2.manifast中也要配置权限。3.没有确认授权的全口弹出这需要手动删除app之后重新编译运行。manifast和activity中权限设置的方法参考如下链接:Manifast权限配置 https://developer.android.com/guide/topics/media/cameraActivity中代码设置 https:/...

2018-09-29 14:37:24 1890

原创 CmakeList.txt语法笔记

1.可执行文件的安装路径设置方法 SET(CMAKE_INSTALL_PREFIX /usr/local),默认/usr/local,外部构建情况下执行make install命令时,make会将生成的可执行文件拷贝到/usr/local/bin目录下。2.INCLUDE_DIRECTORIES(/usr/include/thrift) 添加额外的头文件路径把/usr/include/thri...

2018-09-26 17:36:14 182

原创 mac下几处python的含义

1./usr/bin/python是UNIX用户使用的python,一般该python是link到/System/Library中的python2./System/Library/Frameworks/Python.framework/Versions/2.7/bin/python支撑mac系统的python库,一般不建议删除里面的lib,往往通过/usr/bin/python进行安装所得,...

2018-09-26 11:12:50 425

原创 python用sort函数对字典按value排序

按照value进行排序 sorted(dict1.items(), key=lambda d: d[1])从大到小:加上参数 reverse 例如: sorted(dict1.items(), key=lambda d: d[1], reverse=True) d:从dict1.items()的返回键值对list里面遍历另外: 按照key进行排序 print sorted(...

2018-09-09 00:36:26 2318

原创 python 参数 *args, **kwargs

python函数的参数有*args, **kwargs这样形式,其含义如下:*args:不定参数个数,往往参数的性质都相同,两种情形下使用: 1.【美观】函数设计者,设计了较多个参数,例如8个,不想每次在函数调用的时候写8个参数,不美观,所以先在一个list里面写下8个参数,然后将*args传入,这种情况往往参数个数是固定的,对应在函数里面通过arg[i]来使用。例如:args = [a...

2018-09-09 00:26:19 96

原创 how to write clean code/如何写出层次清晰简洁的代码

1.先写todo,再写代码;上一级的TODO写的好不好,直接决定下面所有层级的TODO的质量;

2018-09-08 17:04:22 214

原创 scrapy通过Request返回的页面数据与浏览器查看到的页面数据不一致

1.URL的地址可以反映请求用户所在的区域,区域不同返回的数据也不同 例如:http://www.xxxx/en/xxx 和 http://www.xxxx/cn/xxx 就可以看出不同2.请求用户的IP地址所在的区域,如果使用代理,则返回的数据也可能不同。3.请求头的设置不同,例如:user-agent,accept-language不同也会导致返回的数据不同。 scrapy有自己...

2018-09-07 00:47:29 6202

原创 代码中异常与日志的处理方式

1.异常能不处理就不处理,而是抛出去,将每一个环节的异常消息都累加。都反馈到最后一个环节再集中处理。2.python中A=None,[],”,”“,等在if A:中A都是False3....

2018-09-06 14:18:02 456

原创 爬虫元素定位

1.通过定位方式查找到的是元素,不是text、herf、title等等属性2.获取元素的常见定位的方式:ID,Class Name,Tag Nmae,Name,Link Text(partial),CSS_Selector,XPATH3.XPATH简述 (1)/A/B/C:路径定位,C没特点,C有多个 (2)//A/B/C,跳跃定位,用于查找多个同地位的元素,且A有特点,A有多个 (...

2018-09-06 12:32:50 787

原创 selenium 静默模式运行(mac)

Firefox:貌似比Chrome麻烦,这里推荐macfrom selenium import webdriverdef get_driver_result(url, xpath): option = webdriver.ChromeOptions() option.add_argument('headless') driver = webdriver.Chr...

2018-09-06 10:58:55 1118

原创 selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH

在mac上面使用selenium,采用Firefox驱动,报上面的错误。原因是:Firefox需要geckodriver驱动。驱动下载地址驱动文件mac上面的存放地址:/usr/local/bin

2018-09-06 10:30:16 437

原创 numpy使用技巧积累

1.np.max(A),按照某一维度来获取该维度上的每个元素的数据集中的最大值,默认是列方向。 2.np.maximum(A,B),A和B逐个元素位置比较,取最大值,A或B可以为1个数值,另一个则为矩阵,矩阵中每一个值都与该元素比较。...

2018-09-05 11:08:20 172

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除