自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Thuantanon的博客

迷茫的本质,不在远方,在于当下。

  • 博客(13)
  • 资源 (3)
  • 收藏
  • 关注

原创 volatile关键字理解

这里的“可见性”指的是,当对一个变量修改后,新值对于其他线程是立即可见的,注意这里的立即可见,并不是说其他线程能监听到变量值修改,而是说修改后的值能立即同步到主内存中(稍后介绍Java内存模型),保证其他线程能读取到的一定是最新值。什么是指令重排优化呢,Java源代码最终会编译成计算机能识别的机器码指令,为了提高执行效率,编译器和处理器可能会对指令进行优化重新排序,导致实际上指令执行的顺序可能会和源代码中想表达的顺序不一致。到此如果能轻松的理解上面两句话的,可以跳过本文。

2022-08-20 03:23:51 1799

原创 SharedPreferences源码分析

今天偶然看见一篇讲解SharedPreferences(以下简称SP)原理的文章,于是怀着前人种树后人乘凉的心情进去看了,发现写得不是很清楚,很多细节一笔带过,于是为了巩固一下基础就去百度了一下,发现百度上也没有让自己满意的文章。虽然SP说很简单,但是还是决定看看源码记录一下分析结果。此处分析的SDK版本为android-27。1.SP的使用我们都知道,SP是以XML文件方式存储的,我们先来看...

2018-10-11 13:38:45 476

原创 Java中Object的finalize()方法

finalize()是什么?finalize()方法是Java中Object类的一个空实现方法,我们都知道,Java中所有的类都是继承自Object,那么就是说,所有的类都有这个方法。我们先来看看该方法/** * Called by the garbage collector on an object when garbage collection * dete

2018-04-11 03:09:08 9529

原创 一个简单的手势密码控件

GesturePasswordView最近项目需要做手势密码,于是呢顺手写了个,实现没有什么难度也没什么技术含量,只是贴出来以后不必重复造轮子,顺便也练习下写博客。项目地址https://github.com/Thuantanon/GesturePasswordView。使用方式1、工程gradle文件:allprojects { repositories { ... maven { u...

2018-03-13 22:50:00 1281

原创 error LNK2005:"XXX已经在 XXX.obj 中定义

今天第一次遇到多文件包含的问题,一般来说C++开发都是声明放在头文件里,实现放在源文件里,然后使用时包含头文件,头文件为了避免被重复编译,一般来说要加个杂注“#pragma once ”,或者直接用“#ifndef XXX ....#endif”来处理。好吧,这些我都知道,偏偏各种办法都用遍了,extern也加了,就是一直给我报下面那个错:折腾了半天,终于让我给折腾好了。

2018-02-27 00:09:01 7396

原创 C++两个平面矩形的相交判断

最近开发小游戏需要一个简单的碰撞检测,因为用的是自定义的Rect类,虽然这个判断方法很简单,但是百度看了很多人的写法代码量都相当的大。当然搜到的结果都不是我想要的,于是只有自己写啦。两个矩形(不考虑旋转)相交大概就那么几种情况,如下图:网上的算法要么就是判断顶点是否被包含,判断线段是否相交等等,这样做的不好的地方是要判断很多种情况。经过简单的分析我的方法如下图所示:

2018-02-08 00:35:33 8274 4

原创 使用SDL2_mixer遇到error LNK2019: 无法解析的外部符号

最近在学习C++和SDL,前不久写了个俄罗斯方块的小Demo,但是是没有声音的,接下来准备写一个消灭星星的小Demo,希望,可以加入声效,于是今晚下载了SDL处理音频的库http://www.libsdl.org/projects/SDL_mixer/,然后新建Win32控制台应用程序...(此处省略10字)头文件全部正确导入:库文件全部正确导入:

2018-01-25 23:53:02 744

原创 SDL俄罗斯方块

整天写一些Android的业务逻辑太心烦了,换个语言找点新鲜感。最近在学习C++,为了避免写黑框框太枯燥坚持不下去,顺便学习了下SDL,做了一个俄罗斯方块小Demo。我的C++也就是停留在大学时Hello world的 代码已上传Github,地址https://github.com/Thuantanon/Tetrics

2018-01-14 22:29:00 1111

原创 对大学四年的总结

去年,也就是2017,我顺利从一个普通二本的计算机学院毕业,这是一篇迟来的总结。

2018-01-02 00:05:47 6001 6

原创 读取访问权限冲突。0xCDCDCD

typedef struct List { List *next; // 表的下标 int i; // 总和结果 int sum;}List;已经一年多没有用C++了,最近厌倦了写一些垃圾App,想学一下游戏开发,于是开始复习下C。今天在复习数据结构的链表部分时,出现了这样的一个错误:折腾了半天,终于找到了原因:...

2017-12-20 15:17:27 30695 12

原创 Android使用CursorLoader加载手机联系人

1、Loader简介Loader是Android3.0(API版本11)中引入的一个抽象类,它主要是封装用来进行异步加载数据。Loader的直接子类是AsyncTaskLoader,也就是AsyncTask和Loader的一个封装类,关于AsyncTask这里就不举例了,总之就是异步加载数据,实际上和Thread+Hander+Loader都一样的效果。而CursorLoader是AsyncT

2017-11-23 00:35:02 559 2

原创 Navicat连接数据库Can't get hostname for your address 解决方法

我只是把自己遇到的问题分享出来,希望能解决大家的问题,特别是新手上路,很容易就因为一两个困难打击了学习的信心,编程是个耐心活儿,加油吧。

2017-10-31 23:02:45 3329

原创 Android动态权限判断以及动态权限申请

首先查看权限是否授予:官网代码// Assume thisActivity is the current activityint permissionCheck = ContextCompat.checkSelfPermission(thisActivity,int permissionCheck = ContextCompat.checkSelfPermission(this...

2016-12-23 16:09:18 21056 2

金山云直播Demo

金山云直播demo代码。包含直播推流包含直播推流包含直播推流包含直播推流

2018-05-07

java网络版五子棋

这是一个用java语言编写的网络版五子棋,代码风骚。

2015-12-26

C语言版贪吃蛇

用C语言写的贪吃蛇,界面不美观,但是初学者可以帮助你。

2015-12-25

空空如也

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

TA关注的人

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