- 博客(8)
- 收藏
- 关注
原创 线程和进程的区别
进程是什么?进程是受操作系统管理运行的基本单位,是程序执行的的一个实例,程序一旦运行就是一个进程,进程会被分配独立的地址空间,如果进程要相互通信,需要通过管道、文件、套接字的方式。线程是什么线程是在进程中独立运行的子任务,一个进程会有多个线程,线程的地址空间是共享的,都是使用同进程的栈空间,每个线程都拥有寄存器和栈,其他线程是可以读写这些栈空间的。...
2020-11-16 21:47:11 110
原创 JVM加载类的原理
JVM完成加载类的步骤大概是以下三步:1.利用类加载器将将class文件读入到内存中,并且为这个class文件创建一个实例对象(java.lang.class),如果这个类已经被加载过了,就不会再被加载(同一个类的唯一标识:包名+类名)。2.将类加载完之后,就是进行连接操作。3.对类进行初始化。接下来谈谈各个步骤的详细内容:一.类的加载利用不同的加载器,对不同来源的clas...
2020-04-06 23:09:43 186
原创 PL/SQL的循环结构
在PL/SQL中,有三种循环结构:(1)简单循环;(2)while循环;(3)for循环1.简单循环LOOP sequence_of_statement; exit [when condition]; --exit很重要,它是用来终止循环的,如果没有会陷入死循环。END LOOP;for example:declare v_counter BIN...
2020-01-12 15:47:31 517
原创 类ThreadLocal的使用
所有线程共享一个变量,可以使用,public static修饰,而如果要每个线程都有自己的共享变量,那么则可以使用ThreadLocal类来解决这个问题。 获取线程变量的方法:get(); 设置线程变量的方法: set();实例代码:public class threadLocalTest { public static ThreadLoca...
2019-12-14 22:49:03 420 1
原创 java数组
特点;只能存储相同的数据类型,可以存放对象或者基本数据类型、定长。数组是属于引用类型。定义数组:(1)type[] arrayName (2)type arrayName推荐使用第一种,因为它具有更好的可读性和语义。定义数组时不能指定数组的长度,因为数组是引用类型,定义的只是引用变量,也就是指针,它并没有指向有效的内存。初始化数组:(1)静态...
2018-07-22 21:23:03 176
原创 谈谈JDK、JRE、JVM三者的关系
JDK:它是用来开发java程序的开发包,它提供了编译和运行java程序的各种工具和资源,包括java编译器(javac、javaw、java),java运行时环境还有常用的类库。JRE:它是用来运行java程序的。其中包括了JVM和类库(字节码校验器、其他的类加载器等)JVM:它是运行java程序的核心虚拟机。所以如果只是运行java程序只要安装jre即可,但是如果要开发java...
2018-07-22 20:31:56 366
原创 freemarker模板引擎的使用
1.为什么使用freemarker替代jsp?(1)不能写java代码,只做数据显示,不进行业务逻辑处理,更加符合mvc模式。(2)性能比较好,在复杂页面如:在做大量的判断、日期金额格式化的页面上,freemarker的性能高于使用tag和el的jsp。因为jsp的el表达式一般都是解释执行,而且大量使用反射,性能很低。在性能方面,使用java原生代码最快,所以无论使用哪种模板引擎,都不能超越使用...
2018-04-11 13:07:21 518
原创 关于java加载dll文件一直报Unable to load library的问题
最近接手了一个任务要改项目的界面,在项目拿到手的时候一直跑不动这个项目,老是报各种unable to load libarary 文件的问题,不过最终在网上查资料搞定了,然后总结了问题和解决方案。刚开始的时候一直报Unable to load library 'HCNetSDK': ÕҲ»µ½ָ¶ 这个问题。解决方法步骤:(1)首先查看你的dll文件的jdk的位数是否和你项目的jd
2018-01-31 21:48:59 38038 11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人