- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 字符集与字符编码
字符集:为每个字符定义一个编号(通常用二进制表示);字符编码:规定了如何将一个字符所对应的编号 存储到计算机的过程,如果使用了类似 GB2312 和 GBK 的变长存储方案(不同的字符占用的字节数不一样),那么为了区分一个字符到底使用了几个字节,就不能将字符的编号直接存储到计算机中,字符编号在存储之前必须要经过转换,在读取时还要再逆向转换一次,这套转换方案就叫做字符编码。有的字符集在制定时就考虑到了编码的问题,是和编码结合在一起的,例如 ASCII、GB2312、GBK、BIG5 等,所以无论称作字
2021-08-05 15:20:34
143
原创 java多线程-CAS
目录1.什么是原子操作?如何实现原子操作?1.1原子操作的概念1.2第一种实现方式:采用锁1.3采用锁带来的问题:1.4第二种实现方式:CAS的指令1.5采用CAS操作所带来的问题1.5.1ABA问题1.5.2循环时间长开销大1.5.3只能保证一个共享变量的原子操作2.Jdk中相关原子操作类的使用2.1AtomicInteger2.2AtomicIntegerArray2.3更新引用类型2.3.1AtomicReference(解决只能保证一个共享变量
2020-07-28 16:40:04
217
原创 java多线程-ThreaLocal
ThreadLocal(线程本地变量),作用是让每个线程都维护一份独立的变量副本,解决了变量并发访问冲突的问题。表面上看,变量是存储在ThreadLocal里面的,实则不然:1. ThreadLocal只是个“工具类”,对外暴露了get、set、remove接口;2. 内部实现:变量其实是保存在当前线程Thread类里,准确来说是保存在Thread类中由ThreadLocal实现的ThreadLocal.ThreadLocalMap成员变量里;set方法public void s.
2020-07-28 16:36:16
143
原创 java多线程-基础知识
1. 启动线程的方式1. 继承Thread类,新建一个当前类对象,并且运行其start()方法2. 实现Runnable接口,然后新建当前类对象,接着新建Thread对象时把当前类对象传进去,最后运行Thread对象的start()方法3. 实现Callable接口,新建当前类对象,在新建FutureTask类对象时传入当前类对象,接着新建Thread类对象时传入FutureTask类对象,最后运行Thread对象的start()方法(FutureTask类是Runnable接口的继承接口的
2020-07-28 10:34:26
130
原创 原码、反码、补码的原理(为什么要用补码)
学过计算机原理的人都知道原码、反码、补码,但是有多少人知道为什么会有这三种码呢,这三种码又是用来干嘛的呢。 众所周知,在计算机的世界只有01,那么显然所有的数都得转成二进制,这样计算机才能够理解。如何将一个十进制的数转成二进制就不说了,说下原码,正数的原码就是十进制转成二进制得到的二进制值,而负数是对应的正数转成二进制得到的二进制值,然后将最高位(符号位)置为1表示这是一个负数,如-10:1...
2019-07-10 09:46:12
2600
2
原创 C语言负数整形的除法和取余
C语言整形的除法的结果需要取整,例如5 / 3 = 1。C语言中的取整方式是向零取整。取整风格共有3种:向零取整。即向坐标轴0的方向,取最近的整数。 向上取整。也就是向+∞取整,即取不小于结果的最小整数。 向下取整。也就是向-∞取整,即取不大于结果的最大整数。所以,C语言中计算-5除以3,因为实数结果约为-1.67,向零取整,得到结果为-1。关于除法,人们常常用向右移位的方式来快...
2019-07-10 09:32:45
7234
原创 原码、反码、补码
假设有一个 int 类型的数,值为5,那么,它在计算机中表示为:00000000 00000000 00000000 000001015转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。-5在计算机中如何表示?在计算机中,负数以原码的补码形式表达。什么叫补码呢?这得从原码,反码说起。原码:一个正数,按照绝对值大小转换成的二进制数就是正数的原码...
2019-07-09 15:43:13
429
转载 invalidate和requestLayout区别
总述:View有两个很重要的方法:invalidate和requestLayout,常用于View重绘和更新。 Invalidate:To farce a view to draw,call invalidate().——摘自View类源码从上面这句话看出,invalidate方法会执行draw过程,重绘View树。当View的appearance发生改变,比如状态改变(en...
2018-10-19 17:21:57
740
转载 Android之:了解MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST)
在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式。这个大小的模式,有点难以理解。在系统中组件的大小模式有三种:1.精确模式(MeasureSpec.EXACTLY)在这种模式下,尺寸的值是多少,那么这个组件的长或宽就是多少。2.最大模式(MeasureSpec.AT_MO...
2018-10-17 14:36:07
893
转载 office图标异常解决办法
问题描述:前不久才重装过系统,可是没多久就出现了一个很恶心的问题:word文档、excel文档图标异常,显示的是下面这样:(造成这样的原因一般是装了wps,卸载后又装了office)打开倒是可以正常用word打开,文件关联是对的,重装office都没解决。忍了几天终于忍不了啦,尝试网上搜了几次,都没有找到解决办法。解决办法: 打开注册表[HKEY_CLASSES_...
2018-08-25 11:47:49
106078
16
原创 阿里云Centos javaWeb运行环境配置
一、 安装JDK1. 下载jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html 2. 上传压缩包到服务器a将下载好的jdk压缩包上传到服务器;b可利用xftp工具将压缩包复制到/usr/local/soft目录下面;...
2018-08-15 09:52:15
195
原创 Could not read from remote repository
git地址采用了ssh方式,切换为https方式即可也可能是仓库地址不对,使用如下命令先查看一下:git remote -vorigin https://github.com/aaa-Yue/aaa.git (fetch)origin https://github.com/aaa-Yue/aaa.git (push)
2018-02-26 14:56:57
998
原创 为什么Listview的viewholder要用static修饰
Android的findViewById动作是比较耗时的,需要遍历布局的树形结构,才能找到相应的视图。所以如果想在这一块进行优化,我们就需要把find过后的内容进行缓存,所以就用ViewHolder的方法《Effective Java》第22条 优先考虑静态成员类其中有条建议:如果声明成员类不要求访问外围实例,就要始终把static修饰符放在它的声明中,是它成为静态成员类,而不
2017-03-16 22:16:00
557
原创 android字体加横线
底部加横线是textview.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG );textview.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG |Paint.ANTI_ALIAS_FLAG);加上后面的属性字体更清晰一些中间加横线是:textview.ge
2017-03-14 10:19:02
1939
1
原创 Activity四种启动模式
standard默认模式,可以不用写配置。在这个模式下,都会默认创建一个新的实例。因此,在这种模式下,可以有多个相同的实例,也允许多个相同Activity叠加。singleTop可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。(常用于产品详情页面
2017-02-23 17:02:12
241
原创 git的配置
git下载地址:https://git-for-windows.github.io/1.git配置:git config --global user.name “Your Name”git config --global user.email “email@example.com”2.查看git配置:git config --list3.克隆git项目:git clone https://git...
2016-12-11 19:46:30
253
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人