3 Violet-Zhao

尚未进行身份认证

不忘初心,方得始终

等级
TA的排名 10w+

动态代理

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

2018-08-17 14:48:27

sql应用

1.查询每门课都大于80分的学生姓名 方式一:SELECT nameFROM testGROUP BY nameHAVING MIN(score) > 80方式二:SELECT DISTINCT nameFROM testWHERE name NOT IN(SELECT DISTINCT name FROM test ...

2018-07-10 22:59:27

sql高级子查询相关应用

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

2018-07-10 22:25:00

sql实例应用

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

2018-07-10 20:45:30

sql基础语句

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

2018-07-10 10:31:13

类加载器

在类加载过程中,第一步是将二进制字节流加载到jvm方法区中,从外部加载二进制字节流到jvm中,需要使用到加载器。加载器可以使用自定义加载器,也可以使用jvm提供的加载器。1.为何要使用类加载器类加载器的作用是从外部加载二进制字节流到jvm方法区,从外部加载东西到内部,自然需要传输工具。(懒加载)类加载是在程序运行期间进行的,属于懒加载,也就是jvm需要使用到某个类时,才会对其进...

2018-06-27 22:42:38

类加载过程

类加载过程包括加载、验证、准备、解析、初始化,下面将对这5个阶段进行详细的学习。1.加载加载是将二进制字节流加载到jvm方法区中,并生成一个Class对象,作为类的访问入口,在这一阶段主要完成的工作如下:通过类的全限定名获取类的二进制字节流 (没有限定二进制字节流就是class文件,所以可以通过多种方式获取二进制字节流,如文件,网络,数据库等)将字节流所代表的静态存储结构...

2018-06-26 22:06:23

类加载时机

jvm运行时通过将需要的class文件加载到方法区中,并对其进行验证、准备、解析和初始化,最终将二进制字节流转换成jvm方法区中的java类型。jvm加载class文件与其他语言加载二进制文件不一样,jvm加载是懒加载,只有在需要使用到该class文件时才会进行加载。既然如此,class文件该何时加载,加载过程中需要完成的工作有哪些?1.类生命周期 以上步骤并非严格按照顺序执行,...

2018-06-26 18:25:15

class文件结构

java语言具有平台无关性,因为有jvm的支持,编译过后的java代码可以在任意平台上运行。java语言经编译后变成class文件,class文件在jvm上运行。现在jvm添加对其他语言的支持,其他语言编译成class文件也可以在jvm上运行,所以,jvm不仅提供了平台无关性,还提供了语言无关性。在jvm规范中定义了class文件格式,所有能够在jvm上运行的class文件必须要满足jvm定...

2018-06-25 10:11:00

内存分配和回收策略

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

2018-06-22 10:08:16

垃圾收集器

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

2018-06-15 18:59:36

LCS

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

2018-06-14 18:06:03

垃圾收集算法

jvm中的垃圾收集算法有标记-清除法,复制法、标记整理法以及分代法,下面对这四种垃圾收集算法进行一个简单的描述。1.标记-清除法标记所有需要被回收的对象,然后再统一清除被标记的对象。其标记过程采用的是可达性分析算法。 不足:效率 标记和清除俩个过程的效率都不高,清除过程是将被标记的对象一个一个进行清除。 空间 由于被标记的对象分布在内存的各个地方,清除之后会产生大量的...

2018-06-13 12:24:39

垃圾收集相关知识

在c或c++中,由开发人员创建对象并且手动释放对象。在java中,程序员不需要自己去释放对象,由jvm帮助我们去释放对象。jvm将java内存区域划分为方法区、堆、虚拟机栈、本地方法栈、程序计数器。其中,虚拟机栈、本地方法栈、程序计数器是随线程而生,随线程而灭。栈中所需的内存在类结构确定下来的时候就已经确定,程序计数器保存的是下一条指令的地址,所以只占一个内存空间。 而堆、方法区是线...

2018-06-13 11:25:25

LIS模型

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

2018-06-11 18:30:16

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

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

2018-06-11 15:39:34

java内存区域

在学习jvm之前,觉得有必要先了解一下虚拟机是个什么操作。虚拟机有很多种,有常用的vmvare,我想学习linux指令,最好安装一个linux系统,但是我又不想安装双系统,怎么办,那就在vmvare中安装linux,仿佛多了一台计算机。 c,c++编译好的程序,换到另一台计算机上运行,可能会出错,而java程序,一次编译,到处运行,这是因为jvm的无比威力。所以什么是虚拟机?...

2018-06-08 22:11:08

动态规划-多重背包系列

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

2018-06-06 21:01:16

多线程-内存可见性

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

2018-06-05 16:29:32

动态规划-完全背包系列

完全背包与01背包的区别在于,01背包中所有物品要么选要不不选,完全背包是所有物品可以选任意次。完全背包与01背包很相似,可以将完全背包转换成01背包,也可以找到其状态转移方程。1.完全背包 2.完全背包变形题-最小乘车费用 3.完全背包变形题-货币系统1.完全背包问题描述:有n件物品和一个容量为m的背包,每件物品都有无限件可用,第i件物品的体积为w[i],价值是v[i...

2018-06-03 13:11:11

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!