随笔分类 -  基础语言-->Java

摘要:参考 陈硕 Linux多线程服务编程 java并发编程实战 多线程的历史 早期单核裸机CPU 程序只能顺序执行,一次只能运行一个程序,造成的就是资源浪费和难编写代码 单核CPU + 操作系统(进程) 操作系统的出现让计算机可以运行多个程序,这也就是并发。操作系统引入进程的概念,让每个程序在自己进程中 阅读全文
posted @ 2021-06-26 23:01 make_wheels 阅读(176) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/1989901/202102/1989901-20210221222317110-2070362637.png) 阅读全文
posted @ 2021-02-21 22:13 make_wheels 阅读(47) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/1989901/202102/1989901-20210221215129191-75972911.png) 阅读全文
posted @ 2021-02-21 21:52 make_wheels 阅读(64) 评论(0) 推荐(1)
摘要:![](https://img2020.cnblogs.com/blog/1989901/202102/1989901-20210221211857847-1043530788.png) 阅读全文
posted @ 2021-02-21 21:19 make_wheels 阅读(31) 评论(0) 推荐(0)
摘要:整理自java并发编程实战很好的书 阅读全文
posted @ 2021-02-21 21:06 make_wheels 阅读(49) 评论(0) 推荐(0)
摘要:1. 开启线程 创建执行任务 Runnable 使用Thread创建线程, Thread构造函数传入 Runnable 调用start 开启线程 不要直接调用Thread的run方法,这不会开启线程应该调用start new Thread(new Runnable() { @Override pub 阅读全文
posted @ 2021-01-26 14:02 make_wheels 阅读(95) 评论(0) 推荐(0)
摘要:引用https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html 1. JNI Native String 函数 ​ JNI支持两种编码 Unicode (16-bit characters) and UT 阅读全文
posted @ 2021-01-10 23:54 make_wheels 阅读(218) 评论(0) 推荐(0)
摘要:##String java的字符串类 ##初始化方式 String aa = new String("aa"); String aa = "aa"; 阅读全文
posted @ 2020-12-01 09:33 make_wheels 阅读(60) 评论(0) 推荐(0)
摘要:java编译 从c转到java,c中: 编译最常见使用g++对程序进行编译生成可执行文件(中间经历四个过程 预处理 编译 汇编 链接),一般使用 g++ xxx.cpp -o 目标文件名称 运行直接使用 ./目标文件名称 对于java: 编译首先把代码翻译为.class字节码文件,也就是只有jvm能 阅读全文
posted @ 2020-11-22 18:53 make_wheels 阅读(191) 评论(0) 推荐(0)
摘要:##说白了这就是个类型检查器 左边放上变量,右边放上待检查的类型 比如: String a = "a"; a instanceof String ##什么时候该使用 我们都知道java中顶层父类是Object 我们常常把变量在 变量-->Object-->变量之间转换 那么在转换之前,进行依次ins 阅读全文
posted @ 2020-07-05 19:44 make_wheels 阅读(131) 评论(0) 推荐(0)
摘要:1. 简述 ​ 使用 /** 开始 */结束的语法声明,这是一个javadoc格式的注释 /**后第一句就是概要性的文字,javadoc程序会把这些句子取出来,形成概要页 2. 类注释、域注释 ​ 放在import之后,类定义之前 package com.example.test; import j 阅读全文
posted @ 2020-07-05 15:46 make_wheels 阅读(302) 评论(0) 推荐(0)
摘要:##作用 如果对类的静态域初始化比较复杂,那么使用代码块的方式对静态域进行整体初始化 ##用法 static int a; static String b; static{ a = 1; b = new String("a"); } 在大括号中,进行函数式的操作 阅读全文
posted @ 2020-07-05 13:59 make_wheels 阅读(118) 评论(0) 推荐(0)
摘要:##从语法的角度上来讲 is-a代表继承,也就是extends,继承完整实现的类或者用abstract修饰的类(子类需要实现abstract修饰的方法) has-a代表组合,设计模式中多次推崇组合好处大于继承,这里组合就是指成员变量类型是其他类 is-like-a代表的是 拥有、像某个行为,和继承最 阅读全文
posted @ 2020-07-05 13:26 make_wheels 阅读(365) 评论(0) 推荐(0)
摘要:##定义数组 int[] a; //这条语句仅仅声明了int[]类型的a,没有给a初始化 int[] a = new int[100]; //分配100个int给a,所有的字符串为null,可以使用a.length访问元素个数 c中使用: int *a = new int[100]; //无法使用a 阅读全文
posted @ 2020-06-15 11:50 make_wheels 阅读(133) 评论(0) 推荐(0)
摘要:#参考廖雪峰 学习文件会和C++里面的简单对比下 ##File 代表了文件这一存储概念 File file = new File("/data/data/com.example.myapplication"); 传递给File的路径可以存在可以不存在 可以传递目录 可以使用listFiles得到当前 阅读全文
posted @ 2020-06-11 16:15 make_wheels
摘要:##开头:本节只讲使用java来达到开启线程的目的 ##使用简单线程的三种方法 ###第一种,继承Thread,重写run 代码 class TestThread extends Thread { @Override public void run() { /* 逻辑代码 */ } } 然后new 阅读全文
posted @ 2020-05-29 15:21 make_wheels 阅读(1196) 评论(0) 推荐(0)
摘要:参考 "https://zhuanlan.zhihu.com/p/36529847" 1.javac 我们编写的java文件是后缀.java的,需要使用javac将.java翻译生成虚拟机识别的.class 比如 test.java javac test.java 就会在目录下生成test.clas 阅读全文
posted @ 2020-05-08 10:53 make_wheels 阅读(218) 评论(0) 推荐(0)
摘要:1.对于c语言 函数参数有两种可能,第一种是拷贝赋值,第二种是指针赋值 代码 使用指针赋值可以通过获得变量的地址进而改变变量本身的值,缺点野指针,使用智能指针解决 使用变量拷贝可以传递参数进行使用,缺点拷贝会带来内存消耗 对于c++ c++相对于c来说增加了引用这一特性,引用的诞生就是为了减少指针的 阅读全文
posted @ 2020-05-06 21:54 make_wheels 阅读(363) 评论(0) 推荐(0)