自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 364

原创 算法之SCC

相关概念:连通图树最小生成树参考算法:https://www.geeksforgeeks.org/tarjan-algorithm-find-strongly-connected-components/应用:在jacc编译器中使用SCC算法计算LALR的LookAhead符号,感觉比龙书中的算法更容易理解一些。个人理解:对算法

2018-01-25 15:49:21 2234

原创 逆向角度看待数据库事物ACID模型

学了看了用了这么久(3年左右)的mysql数据库,文档看了一大堆,总感觉还是如井底之蛙般的看待ACID。ACID:原子性:对于DML,要么全部成功,要么全部失败。一致性:另外3点保证这一点。(从数据库的角度去看待这个定义,不是从使用的角度)。隔离性:不同事物(transaction)互相影响的程度。持久性:写到持久保存的介质上才放心。补充:redo log保证了

2017-12-17 00:09:22 397

原创 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 367

原创 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 1513

原创 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 2381

原创 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 318

原创 直播架构-问题记录

采集:视频,音频编码:H264(AVC),AAC推流:RTMP问题1:推流端直接把编码后的数据到传输server吗?  还是把编码后的数据封装成flv等media file container的格式?SERVER: 问题1:服务端收到推流的数据后,直接把数据分发到客户端吗?  还是先解码再编码成其他格式的数据?拉流:RTMP,HLS,FLV    问题1:关于R

2017-10-20 13:57:50 207

原创 原子性和可见性的理解

并发编程中常见的两个问题:原子性和可见性,虽然经常讨论,但是只是停留在应用层面,理解仍然还不是特别深刻。做个笔录加深一下自己的理解。原子性:定义为不可被分割的操作。单个指令可以是原子的,多个指令通过加锁的方式也可以实现原子性。原子性可以是针对单核多线程,也可以针对多核多线程。1)单核多线程:原子性的指令不可以被中断,一定要执行完该条指令之后才可以切换上下文。加锁实现的原子性因为只是以互斥的

2017-10-09 14:41:15 1488 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 380

原创 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 496

原创 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 6382

原创 Spring-数据库手动事物编程

通过添加注解@Transactional,Spring IOC容器就会自动为执行的方法添加数据库事物,这种添加的事物的实现原理也很容易被猜测到,通过把事物(数据库连接)信息存储到线程局部变量中,在方法体的前后执行开启连接,提交或回滚事物即可,这也是通过切面的方式添加上去的。通过源码阅读,探索怎样手动添加事物,demo代码如下:......import org.springframewor

2017-08-03 17:10:02 334

原创 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 197

原创 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 1535

原创 MAC vs Digital signature

MAC algorithm和数字签名的区别MAC(Message Authentication Code)验证消息的完整性(防篡改)以及辨认是否来自于正确的来源(防伪造)。防篡改:从算法层面认为是完整的,消息并没有被修改过。防伪造:即使消息是完整的(仅仅从算法层面认为是完整的),但是整个消息确是被造假的。MAC  : { message being transmitted, H

2017-06-21 10:21:08 2039

原创 HTTPS学习笔记

HTTPS学习笔记

2017-06-20 16:05:45 471

原创 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 2057

原创 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 379

原创 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 2273

原创 编程基础

TCP/IPOS原理JAVA/C/C++等编译原理JVM原理

2017-01-14 10:01:13 222

原创 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 234

原创 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 502

原创 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 420

原创 Spring是怎样寻找类的

在Spring中写下这样的一段代码,Spring是怎样找到这个类的?@Aspect@Componentpublic class LoggerAspect {}ClassLoader可以加载类,但是却没有运行时API取出某个package下面的所有类。既然没有运行时API可以供调用,那么,Spring是怎样找到这样的一个类,并读取它的注解?前提:这里调查的问题是怎样遍历某一个包下的所有

2016-06-21 16:03:26 1412

原创 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 700

原创 JAVA JDK 动态代理以及Mybatis的理解

AspectJASMCgLibjavassistJAVA JDK Proxy一.JAVA JDK Proxy是一个以实现接口动态创建类的API。在使用java proxy创建及实例化类时,至少实例化两个类,一个是由JVM自动实例化的类,一个是InvocationHandler,至于是否实例化要被代理的类,要看需要。MyBatis只实例化前两个类,MyBatis并不需要真

2016-06-20 14:11:49 1591

原创 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 1625

原创 机器学习网址记录

http://www.inf.ed.ac.uk/teaching/courses/asr/2012-13/asr03-hmmgmm-4up.pdf

2016-04-13 16:53:57 324

原创 每天学习一点点系列之基本算法学习(链表反转)

基本算法名称:链表反转实现方法:按顺序交换元素级别:基本(入门级)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 243

原创 机器学习20160412

入门级算法:梯度下降法(GD)batch gradient descent(BGD) and stochastic gradient descent(SGD)当使用大量样本时,SGD不用循环所有样本吧?

2016-04-12 23:40:21 330

原创 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 260

转载 通用算法包(记录)

主流的分布式框架如 Hadoop,Spark,Graphlab,Parameter Server 等;通用算法包,如 mahout,scikit,weka 等;专用算法包,如 opencv,theano,torch7,ICTCLAS 等。

2016-04-07 22:17:53 583

原创 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 328

原创 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 431

原创 疑问

java开发多线程的时候会考虑线程互斥和变量可见性的问题。在开发ios移动端app的时候,为什么好像没有变量可见性的问题?谁能告诉我为什么吗?

2016-04-06 20:44:40 244

原创 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 314

原创 学习目标

2016.04.05下一个学习目标:http://blog.csdn.net/u011116672/article/category/5955811方式方法:1.看完jls规范2.看完jvm规范3.待定

2016-04-05 14:37:14 250

原创 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 301

原创 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 1397

美国数学建模优秀论文

优秀论文美国数学建模

2011-12-20

空空如也

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

TA关注的人

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