自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

define_us的专栏

JAVA深入,python浅出

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

原创 java中的代理

JDK提供的代理(动态代理)核心是InvocationHandler和Proxy。具体方法为,对要设置代理的类,扫描其类对象,获取所有实现的接口,然后根据这些接口新建一个实现了被代理类所有接口的代理类(用java代码创建新的java类的字节码然后加载)。在代理类中,所有实现接口的方法都采用反射的方式调用被代理类中的代码。生成代理对象是用的Proxy类的静态方newProxyInstance...

2017-11-30 23:40:21 146

原创 java服务相关概念

几种远程调用(RPC)通信协议 + RMI:只能用于java进程之间的通信。由JDK提供。 + Hessian + Burlap + Httpinvoker spring自带的rpc框架。只能用于java spring架构代码之间的通信。 + web service。不同语言通信的首选协议,但是效率地下

2017-11-30 22:56:19 718

原创 python基础教程(2)python的一些基本概念

python不是一个适合多线程的语言。因为其多线程实际上是分时复用使用主线程执行的。JAVA JVM则可以使用cpu的多核实现真正的多线程执行。python代码当引入模块时,会按照如下顺序加载程序的主目录(程序当前运行的目录)PYTHONPATH目录(在环境变量里面配置与加到Path中一样)标准库目录(比如说: C:\Python27\Lib).pth文件所在内容(一般放在Lib\site-

2017-11-17 17:27:44 257

原创 python的元类

Python中的一切都是对象,无论是int,字符串,函数还是类。 对象分为两类,实例对象和类对象。类对象就是类。(权威的说法是metaclasses,classes,instance三类对象) 我们可以这么理解,类实例化是实例对象,元类实例化就是类。type是python内置的唯一元类。当然你可以自己开发元类。int str等则是python内置的类。一切类都是元类的实例化,包括元类自己。...

2017-11-16 23:32:59 1238

原创 java类加载器和tomcat的类加载

类加载器的代理模式1、启动类加载器BootstrapClassLoader2、扩展类加载器Extension ClassLoader3、系统类加载器App ClassLoader如果一个类加载器收到了一个类加载请求,它不会自己去尝试加载这个类,而是把这个请求转交给父类加载器去完成。每一个层次的类加载器都是如此。因此所有的类加载请求都应该传递到最顶层的启动类加载器中,只有到父类加载器...

2017-11-13 22:29:42 258

原创 java多线程(3):JUC基础概述

几个基本概念volatile,不保证原子性,只保证可见性,也就说不能保证线程安全。 如果是一写多读,那么jvm可以解决同步问题。但是,如果是多写,则线程并非安全。 实现原理是禁止指令重排序,并强制线程从主存储器获取数据。具体实现原理是在该数据发生更改时,线程会立刻将其写回主存。其他cpu都在嗅探主存储器写总线,当发现自己持有的缓存被修改时,对自己的缓存做无效处理,在下次访问时直接从主存储器...

2017-11-13 19:48:20 360

原创 java多线程——Monitor机制和synchronized关键字

synchronized的用法指定加锁对象:对给定对象加锁,进入同步代码前需要活的给定对象的锁。 直接作用于实例方法:相当于对当前实例加锁,进入同步代码前要获得当前实例的锁。 直接作用于静态方法:相当于对当前类加锁,进入同步代码前要获得当前类(当前类内部的class对象)的锁。内部原理Synchronized在古老的年代被成为重量级锁。但是java1.6对其进行了优化。为了减少...

2017-11-13 19:03:35 531 1

原创 java内幕原理深入

java对象java对象的占用的内存分为对象头和实例数据。 对象头的一部分用于存储对象自身运行时的运行数据,比如hashcode,gc分代年龄,锁状态标志,线程持有的锁,偏向线程id,偏向时间戳。这些被成为markword 另一部分时类型指针(klass),指向他的类的元数据。如果对象是一个java数组,用于记录数组的长度。因为java虚拟机无法通过类型元数据信息确定数组的大小。

2017-11-13 18:21:02 135

原创 superset开发环境配置

因为superset在python2下对中文支持差,所以,我们的配置中使用python3.6。另外,superset自带的sqllite数据库不可能满足生产的需要,所以我们将superset的系统信息存储在mysql中。为了开发python代码的需要,我们将superset开发环境配置在pycharm中。(1)安装python3 (2)安装virtualenv 因为是开发环境,所以我们采取pyt

2017-11-08 20:08:11 1361

原创 AspectJ

简介AOP有很多种实现方式,比如说Jboss Aop和spring原生的Spring Aop。当然,spring很好的兼容了aspectj。区别在于,spring aop采取的是动态织入,而aspcetj采取的是静态织入。所以,spring原生aop必须要在运行时由ioc容器管理,而aspectj则需要使用其自己的编译器。aspectj和spring aop一样,都可以使用注解方便的实现。术语poi

2017-11-07 15:44:28 236

原创 算法:动态规划

动态规划解决问题的步骤(1)将原问题分解为子问题把原问题分解为若干个子问题,子问题和原问题形式相同或类似,只不过规模变小了。子问题都解决,原问题即解决(数字三角形例)子问题的解一旦求出就会被保存,所以每个子问题只需求 解一次。(2)能用动规解决的问题的特点1) 问题具有最优子结构性质。如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性...

2017-11-07 15:00:46 146 1

原创 背包问题

基础背包问题有N件物品和一个容量为V的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。 基础背包问题的最大特征就是只能选择放和不放,同一个物品只有一件。所以也被称为0/1背包问题完全背包问题有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。将哪些物品装入背包可使这些物品的体积总和不超

2017-11-06 21:12:08 300

原创 八大排序算法

插入排序包括直接插入排序和希尔排序直接插入排序将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。希尔排序选择排序包括直接选择排序和堆排序直接选择排序在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。堆排序交换排序包括冒

2017-11-06 21:07:51 139

原创 java多线程第一讲(基础知识)

不懂多线程就等同于不懂java。JVM线程分类jvm线程分为守护线程和用户线程。守护线程的定位是为用户线程提供服务。当所有用户线程结束后,jvm随机退出。你可以调用setDeamon将线程指定为守护线程。 JVM启动时第一个进行的用户线程是主线程。一般认为主线程应该最后一个结束。JVM中的线程状态NEW 新建的线程对象RUNNABLE 可运行,获取了一切线程运行的条件...

2017-11-06 10:18:44 453

原创 数据库中的算法实现

joindistinct将表中每一列放入一个hash结构中,最终,这个hash结构中有多少个key,也就是去除重复后的结果。 所以,在当distinct结果集较大时,该方法的内存消耗成为瓶颈。group by先对col进行排序,排序的事件复杂度为nlogn,空间复杂度为1。

2017-11-01 14:18:23 2346

空空如也

空空如也

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

TA关注的人

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