动态代理

https://blog.csdn.net/luanlouis/article/details/24589193

2018-08-17 14:48:27

阅读数 63

评论数 0

sql应用

1.查询每门课都大于80分的学生姓名 方式一: SELECT name FROM test GROUP BY name HAVING MIN(score) > 80 方式二: SELECT DISTINCT name FROM test WHERE nam...

2018-07-10 22:59:27

阅读数 327

评论数 0

sql高级子查询相关应用

下面对高级子查询做简要总结:包括多列子查询、FROM子句中使用子查询、使用EXISTS和NOT EXISTS操作符、使用子查询更新和删除数据、使用WITH子句 1.多列子查询 1.查询与141号或174号员工的manger_id和department_id相同的其他员工的emplo...

2018-07-10 22:25:00

阅读数 86

评论数 0

sql实例应用

前面对基本的sql查询语句做了一个简单的总结,下面结合网上的常用查询做一个实例。 1.查询每个月倒数第2天入职的员工信息 2.查询出last_name为‘Chen’的manager信息 3.查询平均工资高于8000的部门id和它的平均工资 4.查询工资最低的员工信息:last_...

2018-07-10 20:45:30

阅读数 885

评论数 0

sql基础语句

总结sql基本知识点,并结合实例,一步步复杂化 1.检索数据(SELECT) 查询所有员工的薪水(简单的检索语句) SELECT salary FROM employees; 2.限制检索结果(LIMIT) 在1的基础上返回从行10开始的20行薪水数据(返回指定的行,不是返回...

2018-07-10 10:31:13

阅读数 98

评论数 0

类加载器

在类加载过程中,第一步是将二进制字节流加载到jvm方法区中,从外部加载二进制字节流到jvm中,需要使用到加载器。加载器可以使用自定义加载器,也可以使用jvm提供的加载器。 1.为何要使用类加载器 类加载器的作用是从外部加载二进制字节流到jvm方法区,从外部加载东西到内部,自然需要传输工...

2018-06-27 22:42:38

阅读数 56

评论数 0

类加载过程

类加载过程包括加载、验证、准备、解析、初始化,下面将对这5个阶段进行详细的学习。 1.加载 加载是将二进制字节流加载到jvm方法区中,并生成一个Class对象,作为类的访问入口,在这一阶段主要完成的工作如下: 通过类的全限定名获取类的二进制字节流 (没有限定二进制字节流就是cla...

2018-06-26 22:06:23

阅读数 87

评论数 0

类加载时机

jvm运行时通过将需要的class文件加载到方法区中,并对其进行验证、准备、解析和初始化,最终将二进制字节流转换成jvm方法区中的java类型。jvm加载class文件与其他语言加载二进制文件不一样,jvm加载是懒加载,只有在需要使用到该class文件时才会进行加载。既然如此,class文件...

2018-06-26 18:25:15

阅读数 71

评论数 0

class文件结构

java语言具有平台无关性,因为有jvm的支持,编译过后的java代码可以在任意平台上运行。java语言经编译后变成class文件,class文件在jvm上运行。现在jvm添加对其他语言的支持,其他语言编译成class文件也可以在jvm上运行,所以,jvm不仅提供了平台无关性,还提供了语言无...

2018-06-25 10:11:00

阅读数 68

评论数 0

内存分配和回收策略

jvm提供的内存管理主要包括内存分配和内存回收,内存分配主要是在堆上分配,jvm将堆区划分为新生代:Eden区,2个survivor区,老年代,创建的对象主要分配在Eden区,也有大对象、长期存活的对象分配到老年代中。对象的分配与垃圾收集器组合以及jvm中设置的参数有关。下面将介绍几种常用的...

2018-06-22 10:08:16

阅读数 141

评论数 0

垃圾收集器

hotspot虚拟机中提供了多款垃圾收集器,每款收集器有它的特点以及适用范围,开发人员可根据对象生命周期特点,内存使用情况等使用参数选择合适的垃圾收集器。 下面给出hotspot中所有虚拟机的结构图。这些虚拟机有些用于新生代垃圾手机,有些用于老年代垃圾手机,新生代垃圾收集器采用的都是复制...

2018-06-15 18:59:36

阅读数 304

评论数 0

LCS

给定俩个序列X,Y,求出俩序列中最长公共子序列,子序列可以是不连续的。拿到这样的问题,如果使用暴力法,是枚举出X所有的子序列,判断子序列是否为Y的子序列,然后再从所有的子序列中找出长度最长的。这样做的话,时间复杂度为O(2^N),时间复杂度太高。在这种通过暴力法解决时,时间复杂度过高的情况下...

2018-06-14 18:06:03

阅读数 451

评论数 0

垃圾收集算法

jvm中的垃圾收集算法有标记-清除法,复制法、标记整理法以及分代法,下面对这四种垃圾收集算法进行一个简单的描述。 1.标记-清除法 标记所有需要被回收的对象,然后再统一清除被标记的对象。其标记过程采用的是可达性分析算法。 不足: 效率 标记和清除俩个过程的效率都不高,清除过程是...

2018-06-13 12:24:39

阅读数 102

评论数 0

垃圾收集相关知识

在c或c++中,由开发人员创建对象并且手动释放对象。在java中,程序员不需要自己去释放对象,由jvm帮助我们去释放对象。 jvm将java内存区域划分为方法区、堆、虚拟机栈、本地方法栈、程序计数器。其中,虚拟机栈、本地方法栈、程序计数器是随线程而生,随线程而灭。栈中所需的内存在类结构确...

2018-06-13 11:25:25

阅读数 36

评论数 0

LIS模型

之前了解过动态规划中背包模型,今天总结一下动态规划中常用的LIS模型(最长递增子序列),许多动态规划算法题是由其变形可解。最长递增子序列,有时间复杂度为o(n^2)解法,有优化后的O(nlogn)解法 1.最长递增子序列 问题描述:给定序列,求出序列中最长递增子序列 分析:要求长度为...

2018-06-11 18:30:16

阅读数 135

评论数 0

对象创建、布局、访问相关内容

在了解java内存区域以后,需要进一步了解对象是如何在堆中创建,分配内存以及如何进行定位访问。由于不同虚拟机对对象的操作存在差别,这里选取常用虚拟机hotspot中对象进行分析。 1.对象如何创建? 在语言层面上,对象的创建常见方式是new关键字进行创建,(当然,还有通过反射、反序列化...

2018-06-11 15:39:34

阅读数 74

评论数 0

java内存区域

在学习jvm之前,觉得有必要先了解一下虚拟机是个什么操作。虚拟机有很多种,有常用的vmvare,我想学习linux指令,最好安装一个linux系统,但是我又不想安装双系统,怎么办,那就在vmvare中安装linux,仿佛多了一台计算机。 c,c++编译好的程序,换到另一台计算机上运行,...

2018-06-08 22:11:08

阅读数 39

评论数 0

动态规划-多重背包系列

本文将对背包问题中的第三类背包问题——多重背包进行描述并给出相关例题 问题描述:有n件物品和一个容量为m的背包,第i件物品最多只有n[i]件可用,每件体积为w[i],每件的价值为v[i],求解将哪些物品放入背包中可使不超过背包容量并且价值最大? 分析:对于第i件物品可以选0件,1件,……n[i...

2018-06-06 21:01:16

阅读数 51

评论数 0

多线程-内存可见性

由于java内存模型定义了对底层数据访问的规则,线程读取写入数据都是在工作内存中进行,并在某些时候(不确定)将值刷新到主内存中。所以导致在多个线程的工作内存中的共享变量的副本值是不相同的。如果一个线程修改了共享变量值,由于没有及时将值刷新到主内存中,其他线程也无法及时获取最新值,所以出现可见...

2018-06-05 16:29:32

阅读数 74

评论数 0

动态规划-完全背包系列

完全背包与01背包的区别在于,01背包中所有物品要么选要不不选,完全背包是所有物品可以选任意次。完全背包与01背包很相似,可以将完全背包转换成01背包,也可以找到其状态转移方程。 1.完全背包 2.完全背包变形题-最小乘车费用 3.完全背包变形题-货币系统 1.完全背包 问题...

2018-06-03 13:11:11

阅读数 459

评论数 0

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