- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 spring aop运行时执行栈分析
spring advisor备忘录org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator#shouldSkip org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper#findAdvisorBeansorg.springframework.aop.framework.autoproxy.Abst...
2020-08-15 14:31:40
373
原创 算法之SCC
相关概念:连通图树最小生成树参考算法:https://www.geeksforgeeks.org/tarjan-algorithm-find-strongly-connected-components/应用:在jacc编译器中使用SCC算法计算LALR的LookAhead符号,感觉比龙书中的算法更容易理解一些。个人理解:对算法
2018-01-25 15:49:21
2251
原创 逆向角度看待数据库事物ACID模型
学了看了用了这么久(3年左右)的mysql数据库,文档看了一大堆,总感觉还是如井底之蛙般的看待ACID。ACID:原子性:对于DML,要么全部成功,要么全部失败。一致性:另外3点保证这一点。(从数据库的角度去看待这个定义,不是从使用的角度)。隔离性:不同事物(transaction)互相影响的程度。持久性:写到持久保存的介质上才放心。补充:redo log保证了
2017-12-17 00:09:22
403
原创 Java security之记不住的CodeBase
The exact meaning of a CodeBase URL value depends on the characters at the end. A CodeBase with a trailing "/" matches all class files (not JAR files) in the specified directory.A CodeBase with a
2017-12-08 14:34:54
370
原创 spring之cglib代理的妙用
例子: @Bean public Service1 service1(){ return new Service1Impl(); } @Bean public Service2 service2(){ Service1 service1 = service1(); return new Service2Im
2017-11-27 17:04:17
1516
原创 Spring之运行时获取controller参数名称的方法
先看下面的例子:package org.reflect;import java.lang.reflect.Method;import java.lang.reflect.Parameter;public class MethodName { public String hello(String hehe,String haha){ return "world
2017-11-27 16:27:35
2389
原创 JNI Reference
Referencing Java ObjectsPrimitive types, such as integers, characters, and so on, are copied between Java and native code. Arbitrary Java objects, on the other hand, are passed by reference. The V
2017-11-09 15:10:16
327
原创 直播架构-问题记录
采集:视频,音频编码:H264(AVC),AAC推流:RTMP问题1:推流端直接把编码后的数据到传输server吗? 还是把编码后的数据封装成flv等media file container的格式?SERVER: 问题1:服务端收到推流的数据后,直接把数据分发到客户端吗? 还是先解码再编码成其他格式的数据?拉流:RTMP,HLS,FLV 问题1:关于R
2017-10-20 13:57:50
210
原创 原子性和可见性的理解
并发编程中常见的两个问题:原子性和可见性,虽然经常讨论,但是只是停留在应用层面,理解仍然还不是特别深刻。做个笔录加深一下自己的理解。原子性:定义为不可被分割的操作。单个指令可以是原子的,多个指令通过加锁的方式也可以实现原子性。原子性可以是针对单核多线程,也可以针对多核多线程。1)单核多线程:原子性的指令不可以被中断,一定要执行完该条指令之后才可以切换上下文。加锁实现的原子性因为只是以互斥的
2017-10-09 14:41:15
1498
1
原创 TCP疑问记录
还不明白的疑问:1.TCP的window scale option的含义虽然是为了解决windowsize最多2字节的限制,但是option只能2的倍数增长,中间的windowsize怎么表示,如window=65535, scale=2, 那么怎么表示65537呢?http://www.networksorcery.com/enp/rfc/rfc1323.txt按照
2017-09-18 14:34:45
382
原创 netty http server入门练习
使用netty写一个简单的http serverpackage org.game.throne.proxy;import io.netty.bootstrap.ServerBootstrap;import io.netty.buffer.ByteBuf;import io.netty.buffer.ByteBufProcessor;import io.netty.buffer.Unp
2017-08-31 18:35:04
507
原创 java http proxy server
reference:https://github.com/adamfisk/LittleProxycontent:这是一个用java写的http代理服务器,如果好奇代理服务器的实现,可以参照这个源码。如果为浏览器配置了代理服务器,那么浏览器会把发送到original server的request全部发送到proxy server,proxy server解析reques
2017-08-28 14:54:55
6394
原创 Spring-数据库手动事物编程
通过添加注解@Transactional,Spring IOC容器就会自动为执行的方法添加数据库事物,这种添加的事物的实现原理也很容易被猜测到,通过把事物(数据库连接)信息存储到线程局部变量中,在方法体的前后执行开启连接,提交或回滚事物即可,这也是通过切面的方式添加上去的。通过源码阅读,探索怎样手动添加事物,demo代码如下:......import org.springframewor
2017-08-03 17:10:02
338
原创 git命令备忘录
Working area:就是需要提交的文件区域。Stage area:属于过渡区域,git软件抽象出的一层。Objects:最终commit的区域,这个区域的文件才可以被push到服务器。1. git reset --hard : stage area匹配最近的commit, 工作区被覆盖。(所有没有提交的修改都会消失)2.git reset : stage area匹配
2017-08-03 16:42:22
200
原创 http query parameter的编码问题(备忘录)
http://localhost:8080/ClientHello?sessionId=+++http://localhost:8080/ClientHello?sessionId=%2B%2B%2B【sessionId=+++】这部分属于URI中的query部分,会被编码(转义),但是下面这几个特殊字符是不会被转义的。当使用tomcat作为Http服务器时
2017-06-29 11:42:13
1546
原创 MAC vs Digital signature
MAC algorithm和数字签名的区别MAC(Message Authentication Code)验证消息的完整性(防篡改)以及辨认是否来自于正确的来源(防伪造)。防篡改:从算法层面认为是完整的,消息并没有被修改过。防伪造:即使消息是完整的(仅仅从算法层面认为是完整的),但是整个消息确是被造假的。MAC : { message being transmitted, H
2017-06-21 10:21:08
2051
原创 lock-free&wait-free
1.概念定义:https://en.wikipedia.org/wiki/Non-blocking_algorithm2.我的理解:lock-free:需要取得锁的线程在有限步骤或时间内内就可以成功(多数线程都会成功,一些可能失败,比wait-free语义稍弱)wait-free:需要取得锁的线程在有限步骤或时间内内就可以成功(任意线程都会成功,语义更加强烈)
2017-06-16 10:36:09
2069
原创 Java garbage collection探索
1.VM参数:-XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:zoro.gc.log-Xmx50m打印出的gc log文件格式如下:Java HotSpot(TM) 64-Bit Server VM (25.91-b14) for bsd-amd64 JRE (1.8.0_91-b1
2017-06-08 15:03:18
384
原创 JAVA schedule pool 理解
java schedule implement如下例:public static void main(String[] args) { ScheduledThreadPoolExecutor pool = new ScheduledThreadPoolExecutor(1); //task1 pool.schedule(()->{ Syste
2017-01-17 11:38:07
2295
原创 Java HashMap理解
1.Hash最直观的hash理解就是计算input的hashCode,然后直接或间接利用hashCode作为位置索引到相应的value,这种处理方法的弊端就是容易发生误判,即不同的key因为存在相同的hashCode,然后把本不应该索引到的value给检索出来。结果自然是不正确的。2.HashMap那么Java的HashMap是如何避免这种情况的呢?final V putVal(i
2016-12-23 11:13:23
243
原创 java.util.concurrent之ForkJoin
1.关于ForkJoin的基础知识理解:http://tutorials.jenkov.com/java-util-concurrent/java-fork-and-join-forkjoinpool.html2.个人理解:public class Main { public static void main(String[] args) throws Int
2016-12-22 13:44:06
511
原创 java classloader理解(似乎不正确)
引用:http://frankkieviet.blogspot.in/2009/03/javalanglinkageerror-loader-constraint.html结论:1.类中的所有其他类型都由该类的classloader加载2.jvm执行字节码,如下:40: invokestatic #14 // Method com/
2016-07-08 11:53:42
427
原创 Spring是怎样寻找类的
在Spring中写下这样的一段代码,Spring是怎样找到这个类的?@Aspect@Componentpublic class LoggerAspect {}ClassLoader可以加载类,但是却没有运行时API取出某个package下面的所有类。既然没有运行时API可以供调用,那么,Spring是怎样找到这样的一个类,并读取它的注解?前提:这里调查的问题是怎样遍历某一个包下的所有
2016-06-21 16:03:26
1418
原创 javassist的理解
http://jboss-javassist.github.io/javassist/html/index.html???javassist能用来做AOP吗???关于ClassPool的get方法的理解:public class ClassPoolextends java.lang.Objectpublic CtClass get(java.lang.String c
2016-06-20 17:12:30
704
原创 JAVA JDK 动态代理以及Mybatis的理解
AspectJASMCgLibjavassistJAVA JDK Proxy一.JAVA JDK Proxy是一个以实现接口动态创建类的API。在使用java proxy创建及实例化类时,至少实例化两个类,一个是由JVM自动实例化的类,一个是InvocationHandler,至于是否实例化要被代理的类,要看需要。MyBatis只实例化前两个类,MyBatis并不需要真
2016-06-20 14:11:49
1595
原创 TCP protocol
对于以下异常的记录:java.io.IOException: 远程主机强迫关闭了一个现有的连接。 at sun.nio.ch.SocketDispatcher.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(Unknown Source) at sun.nio.ch.IOUtil.readIntoNativeBuffer(
2016-04-28 23:29:51
1630
原创 机器学习网址记录
http://www.inf.ed.ac.uk/teaching/courses/asr/2012-13/asr03-hmmgmm-4up.pdf
2016-04-13 16:53:57
329
原创 每天学习一点点系列之基本算法学习(链表反转)
基本算法名称:链表反转实现方法:按顺序交换元素级别:基本(入门级)package test.algorithms;class Node{public Node(String name){this.name = name;}public String name;public Node next;public
2016-04-13 14:01:19
249
原创 机器学习20160412
入门级算法:梯度下降法(GD)batch gradient descent(BGD) and stochastic gradient descent(SGD)当使用大量样本时,SGD不用循环所有样本吧?
2016-04-12 23:40:21
335
原创 jvm结构分析二
一.简介(略)二.JAVA虚拟机的结构三.JAVA虚拟机的编译四.class file的文件格式五.class文件的加载以及类的创建六.JAVA虚拟机的额指令二.JAVA虚拟机的结构2.5 Run-Time Data Areas2.5.1 The pc Register2.5.2 Java Virtual Machine Stacks
2016-04-10 21:16:20
265
转载 通用算法包(记录)
主流的分布式框架如 Hadoop,Spark,Graphlab,Parameter Server 等;通用算法包,如 mahout,scikit,weka 等;专用算法包,如 opencv,theano,torch7,ICTCLAS 等。
2016-04-07 22:17:53
584
原创 http protocol
数据的表示形式数据的存储形式数据的传输形式数据的解析方法var p = 1 和 var p = "1"通过http传输有什么区别,尤其是在http message body里的编码形式?猜测:var p = 1 :传输的body是1;这被解析成int类型,但是接收到0x01这个字节时,直接把这个字节放到4byte的内存区解析。var p = "1":传输的body是
2016-04-07 17:23:10
330
原创 class file解析一
文字说明:简单目的:学习记录是否有手续:是CONSTANT_Class_infoCONSTANT_NameAndType_infoCONSTANT_Utf8_infoClassFile {u4 magic;u2 minor_version;u2 major_version;u2 constant_pool_count;cp_info co
2016-04-06 23:35:20
437
原创 疑问
java开发多线程的时候会考虑线程互斥和变量可见性的问题。在开发ios移动端app的时候,为什么好像没有变量可见性的问题?谁能告诉我为什么吗?
2016-04-06 20:44:40
249
原创 jls之happen-before
引用文档:https://docs.oracle.com/javase/8/docs/api/package:java.util.concurrentMemory Consistency PropertiesChapter 17 of the Java Language Specification defines the happens-before rel
2016-04-06 09:02:54
317
原创 学习目标
2016.04.05下一个学习目标:http://blog.csdn.net/u011116672/article/category/5955811方式方法:1.看完jls规范2.看完jvm规范3.待定
2016-04-05 14:37:14
255
原创 NIO and BIO的点滴区别
前提条件:服务器资源有限,即可以有效利用的线程数量是有限的。以socket为例,假设条件,线程数量:1个,请求数量:50个,单个请求处理时间:15ms,网络传输时间:3ms,且50个请求同时到达服务器。1.在BIO模式下,当从socket中读取数据时,需要等待时间waittime(accept+read:after accepting,client sends data and then
2016-04-05 11:22:19
307
原创 java线程池的使用
java线程池使用说明:参照java api dochttps://docs.oracle.com/javase/8/docs/api/java.util.concurrent.ThreadPoolExecutorCore and maximum pool sizesOn-demand constructionCreating new threadsKe
2016-04-04 12:45:17
1400
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人