- 博客(17)
- 收藏
- 关注
转载 动态代理
动态代理与静态代理相比,其总体实现功能是相同的。 但静态代理中,需要在代理类里实例化实体类,每想增强一个类都需要在代理类中修改,不方便 动态代理使用了诸如反射等方法,可以在不修改代理类的情况下,新增加被代理的类,更方便使用。 java提供了专门实现动态代理的接口InvocationHandler 1. 新建类实现接口 2. 设置bind()方法,主要是用来返回相应增强过的实体类对象(其实...
2019-05-08 10:52:00
165
原创 静态代理
原对象通过一个代理类解决。 例如: 原对象:封建王朝 代理类对象:明朝、清朝 明朝清朝会在其类中建立原对象(封建王朝) 明朝清朝会自己添加一些before()、after()方法,如明朝会添加宦官,清朝添加八旗什么的 具体使用就都是明朝清朝 ...
2019-05-06 15:51:13
124
原创 抽象工厂
比工厂模式多了一维。将某几个相关的再总结成一个抽象类,即产品族。 DefaultsqlSessionFactory= mysqlSessionFactory+ sqlServeSessionFactory+...
2019-05-05 22:21:06
162
原创 工厂模式
相对于简单工厂,工厂模式, 顶层:工厂(抽象)VideoFactory 次顶层:专业工厂(抽象)JavaVideoFactory,PyVideoFactory。。。 底层:JavaVideo, PythonVideo。。。 顶层工厂不管实现,而交于次级工厂实现 iterator:vedio顶层 Collection:次顶层 arraylist:javavideo ...
2019-05-05 17:18:16
150
原创 简单工厂
其实就是创建一个抽象类,包含一些子类。如video类,包含javavideo和pythonvideo类。 然后创建一个工厂类,有一个方法,根据输入的参数,如字符串“java”,返回对应的类的对象。 好处是,仅凭一些参数就可以确定是什么对象了,比较方便 public abstract class Video { public abstract void useVideo()...
2019-05-04 23:08:53
147
原创 观察者模式
有人关注了上海,当天气有变化时候,需要通知他们。这种情况就需要观察者模式。 好处是,我只跟上海有关系,跟天气预报没关系。上海变成了一个中转站。 将用户添加进观察者的队列中。一旦有变化,就依次通知用户。 中介上海: import java.util.Observable; /** * @program: guanchazhe * @description: 天气 * @author...
2019-04-30 16:57:29
110
转载 剑指OFFER——判断一棵树是否是平衡二叉树 java实现
重点:一个私有布尔值变量,用来指示是不是满足条件。 一个返回布尔值的主函数,没什么内容,返回上个变量 一个返回int的从函数,使用后序遍历,返回当前node的深度,给上一层使用。 剑指OFFER——判断一棵树是否是平衡二叉树 java实现 题目描述:输入一棵二叉树,判断该二叉树是否是平衡二叉树。 题目解析:首先要明白平衡二叉树的性质才做判断:平衡二叉树就是左子树和右子树的高度差不能超过...
2018-09-03 22:47:15
421
1
转载 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 1、递归做法 //1、将左子树构成双链表,并返回该链表的头节点(左子树最左边的节点) //2、定位到左链表的最后一个节点(左子树最右边的节点) //3、如果左子树链表不为空,则将当前root追加到左子树链表后 //4、将右子树构造成双向链表,并返回链表头结点(右子树最左边的节点...
2018-09-03 22:23:55
3744
转载 对象何时进入老生代
https://blog.youkuaiyun.com/xdzhouxin/article/details/81218578 内存分配策略 对象的内存分配其实就是在堆上分配,那么细分呢,什么时候在新生代什么时候在老生代都是需要了解的问题。这些问题与虚拟机垃圾回收器有关,但是大多数情况下,对象优先在新生代的Eden区上分配空间,但是也有直接在老生代分配内存的情况。 1 对象优先在Eden区分配内存 ...
2018-08-16 16:07:26
427
原创 java内存分析
先用jps找到所有java进程,pid jps 再用分析 jmap -heap pid 2. 使用eclipse memery 分析工具 在jvm参数的时候插入代码,使得出现内存溢出的时候自动生成内存快照,存在某个目录,继而用eclipse打开,就可以分析了...
2018-08-14 21:49:42
178
转载 jvm 性能调优工具之 jps
概述 jps 命令类似与 linux 的 ps 命令,但是它只列出系统中所有的 Java 应用程序。 通过 jps 命令可以方便地查看 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息。 如果在 linux 中想查看 java 的进程,一般我们都需要 ps -ef | grep java 来获取进程 ID。 如果只想获取 Java 程序的进程,可以直接使用 jps 命令来直接查看...
2018-08-14 21:40:14
181
原创 pandas groupby 分组的操作
groupby有点类似于sql,可以分组统计 (和,平均值,计数) 等等 1. 求和。这是根据name汇总求和,并且重新设立index data_groupby_app = data.groupby(['NAME']).sum().reset_index() 2. 计数 这句话将数个字段汇总,即不同关键字段的排列组合汇总,做计数功能 all_num = result_deta...
2018-08-07 14:00:19
481
原创 pandas的一些常用操作
1. 加一个字段,就是加一列。 原表名为table,加一列newdata table['newdata'] = '1'#初始数据全部为1,也可以设置为数字,字符串,变量,或者NAN 注意:如果设置为空Nan,则不能加减等操作 2. 改列名字 原列名为“oldname”,想修改成“newname” table.rename(columns={'oldname':'newname...
2018-08-01 10:10:06
1240
原创 抓住这头牛 java
抓住那头牛: 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式: 1、从X移动到X-1或X+1,每次移动花费一分钟 2、从X移动到2*X,每次移动花费一分钟 假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛? Catch that...
2018-07-31 21:48:47
777
原创 sql语句操作总结
工作中关于sql语句写作的总结,不断更新 1. 在Python.pandas中,使用(SQL语句)+(版本变量)查询数据库 (1)首先要定义sql语句,不带条件,注意语句末尾 SQL_FINGERPRINT_FAIL =(""" select a,b,c,d from tablename inner join anothertable on tablename.a = an...
2018-07-25 11:07:34
683
原创 sql语句select中直接替换或去掉字符
select A, B, C, replace(right(l_name, 3),'-','') as screen, from table_name 这句话就是,选l_name字段中的右边三个字符,并且如果有‘-’,就去掉
2018-07-23 10:15:04
10032
原创 如何自动生成entity类等文件
使用maven生成一系列自动的类entity类等等,这个应该是比较详细的 可以生产实体类、DAO接口和Mapper映射文件 新建一个mavenproject, 2. pom.xml文件添加依赖和build,要注意数据库的形式,我用的是SQLserver <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht...
2018-07-19 10:41:24
3910
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人