自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿巴卡的博客

编程语言

  • 博客(19)
  • 收藏
  • 关注

原创 Java多线程中的volatile变量

首先,volatile的作用是保证内存的可见性,但是不能保证操作的原子性。在Java中内存模型中,将内存模型分为主内存和工作内存。主内存是对所有线程所共享的,而每个线程都有自己的工作内存(比如cpu缓存,寄存器等等都是一个原理的,都是为了加快读取速度),工作内存是不共享的。在线程工作时,会从主内存中拷贝一份需要的变量放在工作内存。线程对变量的所有操作,都是先操作工作内存中的副本,然后由副本对...

2018-11-26 21:00:32 552 1

原创 Java线程停止

多线程中有三种方法可以停止线程设置标记位,可以使线程正常退出使用stop方法强制使线程退出,但是这个方法不太安全已经被废弃使用Thread类中的一个interrupt()可以中断线程标记位举例:class MyThread implements Runnable{ volatile boolean flag = true; int i = 0; @Overr...

2018-11-26 19:20:29 673

原创 Java线程休眠方法sleep、线程让步yield和join方法

线程休眠(sleep方法)线程休眠:让线程暂缓执行,等到预计时间之后再恢复执行。线程休眠会交出cpu,让cpu去执行其他任务,但是不会释放锁。比如:当前线程sleep休眠了,但是如果此线程在休眠前持有某个对象的锁,那就算它休眠了其他线程也不能获取到这个对象的锁。注意:调用sleep结束后线程会重新回到就绪状态,只需要等待获取cpu执行就可以。方法:public static nativ...

2018-11-26 16:14:28 710

原创 Java中对象和引用的区分

好多刚接触Java的小伙伴对对象和对象引用往往不能区分,我刚开始也很迷茫,不知道什么时候叫对象,什么时候叫引用。下面我来说说我的理解:Person person = new Person();Person是已经定义的一个类,这里person叫对象引用,new Person()叫对象Person person;Person代表已经定义的类,person是引用,person所指向的对象...

2018-11-14 21:40:36 741

原创 Java中native关键字

native是告知编译器该方法是原生函数,其他语言实现(c、c++),并被编译在DLL(动态链接文档)中,使用时由java去操作系统中调用。对于不同的系统它的实现也是不同的,这也是java跨平台实现的一个原因。我自己感觉是:native修饰的方法是java从本地操作系统中直接调用的,而本地操作系统对于这个方法实现使用的语言不确定。所以也不用方法的纠结源代码是怎么实现的。如果我的理解有偏差,希望...

2018-11-14 20:28:43 150

原创 Java线程的命名与取得当前线程信息

线程的命名:public Thread(Runnable target,String name);使用:new Thread(对象的引用,“线程名”).start();public final synchronized void setName(String name);使用:Thread.currentThread.setName(“线程名”)线程信息的取得public sta...

2018-11-14 18:44:25 5237

原创 从主Activity中调用子Activity,并返回结果给主Activity

使用Intent在Activity间传递数据的方法;1.以Sub-Activity的方式启动子Activity调用startActivityForResult(Intent,requestCode)函数。2.设置子Activity的返回值调用setResult()函数设定需要返回给父Activity的数据3. 在父Activity中获取返回值会调用onActivityResult()...

2018-11-12 21:28:51 6588

原创 Android--使用显式Intent,实现从登录界面到注册界面的跳转

//Activity_abaka.xml --------------注册界面<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.andr...

2018-11-12 21:22:37 9745 3

原创 Android--测试Activity的生命周期事件及其回调方法

//activity_main.xml<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://sch...

2018-11-12 21:16:42 2980

原创 Android--使用网格布局搭建简易计算器界面

<?xml version="1.0" encoding="utf-8"?><GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_pa

2018-11-12 21:03:58 1698

原创 Android--使用相对布局搭建用户注册界面

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.co

2018-11-12 21:02:35 1866

原创 Android--使用线性布局搭建用户登录界面

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent&amp

2018-11-12 21:01:42 8431

原创 Android--创建空的Android项目

创建空的Android项目,并在真机或虚拟机上运行;点击创建项目。给项目命名一直next,点击Finish创建好后自动生成如下图代码USB连接真机,开启开发者模式,点击运行,找到真机型号,下载APP...

2018-11-12 21:00:12 1385

原创 Java 进程与线程 及多线程实现(Thread、Runnable、Callable)

进程与线程的概念进程: 操作系统中一个程序的执行周期称为一个进程。(是程序的一次动态执行,它对应着从代码加载,执行至执行完毕的一个完整的过程,是一个动态的实体)windows是一个多进程的操作系统。线程: :一个程序同时执行多个任务。通常,每一个任务就称为一个线程。与进程相比较,线程更"轻量级",创建、 撤销一个线程比启动一个新进程开销要小的多。没有进程就没有线程,进程一旦终止,其内的线程也...

2018-11-10 00:27:34 194

原创 IntelliJ IDEA 快捷键

-----------自动代码--------常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码例如要输入for(User user : users)只需输入user.for+Tab再比如,要输入Date birthday = user.getBirthday();只需输入user.getBirthday().va...

2018-11-04 19:40:42 107

原创 scanf如何接收含有空格字符串

解决方法:使用%[ ](扫描字符集合),可以用来进行多个字符串的输入,并对结束符进行自定义。对于%[ ]可以用^+结束标志(可以使任意字符,代表着输入这个字符就终止对字符串的读取)。char arr[20]; scanf("%[^\n]", arr); printf("%s", arr); system("pause"); return 0;其他问题可以看上一篇scanf用法及常...

2018-11-04 00:29:55 1776

原创 C语言scanf输入时缓冲区问题

许多同学可能在写代码时都遇到了关于scanf输入时缓冲区读取问题。首先来对scanf为什么会出现这类问题进行分析,scanf函数是标准输入流(从键盘接收数据),接收的数据放入输入缓冲区中,其中就包括在键盘输入的空格、回车这类字符,当你用%d接收时是不会影响的,但是用%c就会产生错误,这是因为在"%c"输入时,空格和转义字符均作为有效字符会被%c接收。例如:#include<stdio....

2018-11-04 00:26:35 5630 1

原创 scanf用法及常见输入错误问题

scanf()函数是通过终端格式化输入函数,它从标准输入设备(键盘)读取输入信息。可以读入任何固有类型的数据并自动把数值转变成适当的机内格式。例1.#include<stdio.h>int main(){ int a, b, c; scanf("%d%d%d", &a, &b, &c);

2018-11-04 00:13:58 21763 4

原创 Java实现双向链表

import javafx.beans.binding.ObjectBinding;interface ILink{ /** * 链表增加节点操作 * @param data 节点内容 * @return */ boolean add(Object data); /** * 判断指定内容节点在链表中是否存在 ...

2018-11-01 23:46:45 323

空空如也

空空如也

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

TA关注的人

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