java-note

多线程
    java内存模型JMM https://blog.csdn.net/suifeng3051/article/details/52611310 
    内存屏障 https://blog.csdn.net/kuangzhanshatian/article/details/47949059
    synchronized的实现原理 http://www.importnew.com/23511.html 
    锁膨胀和优化 https://www.cnblogs.com/dsj2016/p/5714921.html
    volatile详解 https://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html?_t_t_t=0.574690104695037 https://cloud.tencent.com/developer/article/1006845
    单例设计模式volatile作用JIT重排序 http://blog.csdn.net/glory1234work2115/article/details/50814419
    AQS锁 https://www.cnblogs.com/waterystone/p/4920797.html 
    reentranlock实现 https://blog.csdn.net/kangxiongwei/article/details/72469434
    多线程-乐观锁、悲观锁 CAS http://blog.csdn.net/truelove12358/article/details/54963791    http://www.importnew.com/20472.html
    并发工具类 CountDownLatch、CyclicBarrier、Semaphore   http://blog.csdn.net/catoop/article/details/49866695
    线程池参数、任务丢弃策略 http://blog.csdn.net/maoruibin9035/article/details/71425379 
    synchronized和lock的区别 https://www.cnblogs.com/luyang08/p/5955981.html
    ForkJoin https://www.jianshu.com/p/f777abb7b251
    HashMap实现原理 https://www.cnblogs.com/chengxiao/p/6059914.html
    HashMap线程不安全的体现 http://www.importnew.com/22011.html#comment-661047
    ConcurrentHashMap http://www.importnew.com/22007.html
    
    线程池中的blockqueue https://www.jianshu.com/p/210eab345423
    java concurrent 包 https://www.cnblogs.com/vijozsoft/p/5585620.html    http://blog.csdn.net/defonds/article/details/44021605/
    简述 ConcurrentLinkedQueue LinkedBlockingQueue 的用处和不同之处    http://blog.csdn.net/jiangguilong2000/article/details/11617529
    线程池关闭 http://blog.csdn.net/xxcupid/article/details/51993235 
    三种可能不执行finally代码块的情况 
        - 在try代码块之外产生异常或者返回下是不会执行finally代码块的 - 执行try代码块时候退出了JVM虚拟机 System.exit(0)
        - 在子线程执行try代码块或者catch代码块时候突然关闭了线程,也可能不执行finally代码块 
        - 突然断电了也可能
    可重入锁:可重入锁指的是在一个线程中可以多次获取同一把锁,比如:一个线程在执行一个带锁的方法,该方法中又调用了另一个需要相同锁的方法,则该线程可以直接执行调用的方法,而无需重新获得锁;
JVM&性能调优
    JVM运行时数据区 https://blog.csdn.net/sinat_35512245/article/details/54744815
    GC http://www.importnew.com/23633.html
    java类的加载器 http://blog.csdn.net/gjanyanlig/article/details/6818655/ 精读http://blog.csdn.net/zhoudaxia/article/details/35824249
    jvm性能调优监控工具 https://my.oschina.net/feichexia/blog/196575
    深入理解垃圾收集器和收集器的选择策略  http://blog.csdn.net/KilluaZoldyck/article/details/75081875
    sql执行计划 http://blog.csdn.net/lxxiangyong/article/details/27089413  其实根据key就可以判断
    mysql 索引数据结构 http://blog.jobbole.com/24006/
    mysql优化 https://www.zhihu.com/question/19719997    
    tomcat源码解析 https://yq.aliyun.com/articles/20169?spm=a2c4e.11153940.blogrightarea20177.21.6d3057d5lulVPI
    
    JVM知识点梳理 http://mp.weixin.qq.com/s/yI9Ij6iDX0zQPPLggZbTRw
    java性能优化    http://www.codeceo.com/article/java-performance-skill.html
    effective java https://www.cnblogs.com/yulinfeng/archive/2017/08/03/7282649.html  
    数据库性能优化 http://blog.csdn.net/yzllz001/article/details/54848513 
    jvm虚拟机性能管理 https://blog.csdn.net/chwshuang/article/details/44202491
框架
    spring源码分析  https://blog.csdn.net/nuomizhende45/article/details/81158383 http://www.importnew.com/27469.html https://www.jianshu.com/p/dce21c3fc0b0
        1. 收集 bean 描述信息
        1.1 通过 XMLBeanDefinitionReader 读取 xml 信息, 封装成 GenericBeanDefinition 注册到 BeanFactory 里面
            或 扫描指定目录下的所有类, 并将符合要求的类封装成 BeanDefinition, 并注册到 BeanFactory 里面
        1.2 若遇到 特殊的命名空间, 则获取对应的 NamespaceHandler 来进行解析(PS: 如 MVC, TX, AOP 等)
        2. 生成 bean 
        2.1 调用 BeanFactoryPostProcessor 来处理 BeanDefinition 里面的 ${占位符号}
        2.2 调用 InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation (实例化前置函数) 来生成对象
            postProcessBeforeInstantiation 主要是当程序中设置了 自定义的 customTargetSourceCreators 时创建 对应 Bean 的代理
        2.3 通过反射生成对应的 bean 
        2.4 调用 MergedBeanDefinitionPostProcessor.postProcessMergedBeanDefinition 来收集 Bean 里面的描述信息 
            (比如 
                    AutowiredAnnotationBeanPostProcessor 收集 Autowired, Value 标注的属性/方法;
                    CommonAnnotationBeanPostProcessor 收集 PostConstruct, PreDestroy 标注的方法;
            )
        2.5 判断 bean 是否允许提早暴露+循环引用, 若是的话, 则直接将 bean 封装到 ObjectFactory 对象中
        2.6 调用 InstantiationAwareBeanPostProcessor.postProcessAfterInstantiation (实例化后置函数) 
            这个方法返回 true/false, 来决定是否将 XML 配置的 Bean 的属性运用到 Bean 上, 或 配置被 Autowired/Value 修饰的属性
        2.7 调用 BeanPocessor.postProcessBeforeInitialization (初始化前置方法)
            最常见的设置 Bean 实现的各种 Aware 方法就是通过 ApplicationContextAwareProcessor 来实现的
        2.8 初始化 bean 的初始方法, 主要是两部分(1. XML 里面配置的 init 方法; 2. InitializingBean接口的afterPropertiesSet 方法)
        2.9 调用 BeanProcessor.postProcessAfterInitialization 方法
            Spring 中的 AOP 很多时候就是通过这个初始化后置方法实现代理类, 如 AnnotationAwareAspectJAutoProxyCreator(基于 Aspect 注解)
            AspectJAwareAdvisorAutoProxyCreator(直接解析 <aop:config> 配置的信息)
        2.10 将 Bean 封装成 DisposableBeanAdapter 装入到 能销毁的Bean 的 Map 中
    springAOP源码 http://baijiahao.baidu.com/s?id=1596466083334197175&wfr=spider&for=pc    https://blog.csdn.net/fighterandknight/article/details/51209822
    spring 事务源码分析 https://blog.csdn.net/heroqiang/article/category/7303318?orderby=UpdateTime
    spring Java配置解析原理 https://www.jb51.net/article/132888.htm
    springmvc 启动过程http://www.jb51.net/article/114739.htm
    mybatis 源码分析 https://www.jianshu.com/p/ec40a82cae28  
    MapperScannerConfigurer 代理源码 https://blog.csdn.net/A__Man/article/details/80383106  https://blog.csdn.net/jackyechina/article/details/52981667
    spring5 flux https://blog.csdn.net/get_set/article/details/79480233    https://www.oschina.net/translate/spring-5-reactive-web-services
    
    反应式编程 flux https://blog.csdn.net/simple_chao/article/details/73648238    
    mybatis整合spring使用sqlsession https://blog.csdn.net/qzc711/article/details/49307055  https://blog.csdn.net/lemonyfei/article/details/8925344    SqlSessionUtils.getSqlSession(sqlSessionFactory);
    mybatis 属性注入无效 https://www.jianshu.com/p/ff38d96a18a7  https://blog.csdn.net/jackyechina/article/details/52957525
    sqlsessionTemplate 源码 https://www.cnblogs.com/daxin/p/3544188.html
    hibernate注解开发 注解放在get方法上 注明对应的列 这是改变get方法的名字同时也必须改变set的名字 因为hibernate会根据get方法名去拼接set方法名
    hibernate注解开发@Column加在字段上,hibernate会反射拿到field设置值,加在get方法上才会调用set方法设置值
    hibernate 注解关系映射 http://blog.csdn.net/jikak1153/article/details/43865701 多对多不声明关系对象列存在问题 http://blog.csdn.net/qwe6112071/article/details/51118838
    spring aop 用|| && 链接多个拦截条件
    如果发现@ConfigurationPropertie不生效,有可能是项目的目录结构问题,你可以通过@EnableConfigurationProperties(ConnectionSettings.class)来明确指定需要用哪个实体类来装载配置信息http://www.jianshu.com/p/df57fefe0ab7
    当我们不为@Bean指定名字时,Spring会默认使用方法名作为Bean的名字
    spring扫包也是会加载@configuration注解的
    springScurity 获取认证失败后的错误信息 http://blog.csdn.net/sun1021873926/article/details/60332059  
        http://blog.csdn.net/jaune161/article/details/18361421 //默认重定向到的登陆失败页面并把错误信息放到session中 源码SimpleUrlAuthenticationFailureHandler
    动态定时任务 http://blog.csdn.net/wwkms/article/details/48851005
    spring的事务回滚
        在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
        Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked(继承runtimeException)
        如果遇到checked(继承Exception)意外就不回滚。
        如何改变默认规则:
        1 让checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class)
        2 让unchecked例外不回滚: @Transactional(notRollbackFor=RunTimeException.class)
        3 不需要事务管理的(只查询的)方法:@Transactional(propagation=Propagation.NOT_SUPPORTED)
    spring排除扫描
        @ComponentScan(basePackages={"spitter"},excludeFilters={@Filter(type=FilterType.ANNOTATION,value=EnableWebMvc.class)}) 
        <context:component-scan base-package="com.baobaotao">     
            <context:include-filter type="regex"       
                expression="com.baobaotao.service..*"/>     
            <context:exclude-filter type="aspectj"       
                expression="com.baobaotao.util..*"/>     
        </context:component-scan>   
    AOP的多个配置 http://blog.csdn.net/zhengchao1991/article/details/53391244
分布式&微服务
    Redis:
        常见问题 https://www.cnblogs.com/Survivalist/p/8119891.html
        主从复制原理 https://blog.csdn.net/stubborn_cow/article/details/50442950
        管道和事务 https://blog.csdn.net/xiaoliuliu2050/article/details/73294271
        缓存与数据库一致性 https://blog.csdn.net/ZLHZHJ/article/details/80176988
        缓存穿透,缓存击穿,缓存雪崩 https://blog.csdn.net/zeb_perfect/article/details/54135506
        哨兵和数据丢失 https://blog.csdn.net/wang258533488/article/details/79352378
    zookeeper:
        disconf http://disconf.readthedocs.io/zh_CN/latest/
        分布式锁 https://blog.csdn.net/peace1213/article/details/52571445
        watcher机制原理 https://www.cnblogs.com/ainima/p/6331693.html https://blog.csdn.net/zdy0_2004/article/details/59133570
        java api https://segmentfault.com/a/1190000012262940
        感知节点变化 https://blog.csdn.net/qq_37334135/article/details/78076172
        leader选举 https://blog.csdn.net/weixin_40083942/article/details/78484099
        master选举 https://www.cnblogs.com/sky-sql/p/6804467.html
        数据一致性 https://blog.csdn.net/liuhaiabc/article/details/70771322
    dubbo源码分析 https://www.jianshu.com/p/c52fbaca7385
    dubbo架构原理 https://blog.csdn.net/u013322876/article/details/72846054
    tcc-transaction原理 https://www.processon.com/view/link/5addd123e4b04721d6357477
    kafka高性能吞吐揭秘 https://segmentfault.com/a/1190000003985468
    kafka详细说明 https://blog.csdn.net/ychenfeng/article/details/74980531
    hash一致性算法 https://www.cnblogs.com/moonandstar08/p/5405991.html https://blog.csdn.net/WANGYAN9110/article/details/70185652
    RocketMQ与Kafka特性对比 https://www.jianshu.com/p/a5484f565dd7?from=timeline
    MappedByteBuffer https://www.jianshu.com/p/f90866dcbffc
    tcp三次握手 https://blog.csdn.net/zqftisson/article/details/7616133
    滑动窗口协议 https://blog.csdn.net/q1007729991/article/details/70142341
    后退N帧协议 https://blog.csdn.net/qingkongyeyue/article/details/54970166

    
    springboot整合mybatis 多数据源 https://blog.csdn.net/maoyeqiu/article/details/74011626 https://blog.csdn.net/twomr/article/details/79137056
    springboot下同时使用freemarker和thmymeleaf freemarker优先级要高  http://blog.csdn.net/qq_15042899/article/details/72885889
    nio编程 http://www.iteye.com/magazines/132-Java-NIO    http://blog.csdn.net/yanmei_yao/article/details/8586199
    dockerfile volume参数:
        VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了。
        /tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
    docker构建微服务 http://blog.csdn.net/forezp/article/details/70198649
    docker容器互联 http://www.cnblogs.com/51kata/p/5276804.html 
        docker提供了一种机制,可以让一个容器和另一个容器很方便的连接起来。举例:
        docker run --name test1 --link myweb:web -it ubuntu /bin/bash
        上面命令创建了一个新的容器test1。 这里引入了一个新的标记 --link,其参数部分的myweb表示要连接的容器,web是要连接的容器的别名。
        容器创建后,我们用 ping web命令发现能连接到myweb容器,这样因为用的不是ip地址,而是别名。这样即使myweb容器重启后,上面创建的test1容器对其连接的代码或脚本也不用修改。
        假设myweb容器提供了web服务,容器内的端口是80.
        这时在test1容器内可以用如下方式访问:  curl  http://web:80
        显然,这种方式的优点是不再指定ip地址,即使 myweb容器重启后ip地址变了也没关系。
    springboot importSelector原理:http://www.jianshu.com/p/7fd7eeeccad0 @AliasFor可以将组合注解的字段映射到具体注解中的字段
    WebApplicationInitializer原理 http://blog.csdn.net/koflance/article/details/59233428
    Oauth2 单点登录 http://blog.csdn.net/huxu981598436/article/details/67631878  http://jinnianshilongnian.iteye.com/blog/2038646 http://blog.csdn.net/jbjwpzyl3611421/article/details/51130030    http://www.importnew.com/24344.html 
    springcloud的httpbasic认证时浏览器提供的认证,feign提供的basic拦截器就是用来认证此认证的
    ribbon feign hystrix 想要单独配置某一个,不能让配置类被扫描到
    docker跨主机通信和网络 http://www.cnblogs.com/yy-cxd/p/6553624.html    http://blog.csdn.net/zhangli_perdue/article/details/50441426 overlay方式:http://www.maiziedu.com/wiki/cloud/overlay/
    分布式事务中间件  http://www.iocoder.cn/TCC-Transaction/console/    tcc-transaction:http://blog.csdn.net/l1028386804/article/details/73731363 http://www.phpxs.com/post/5894/
    跨库的分布式事务 http://blog.csdn.net/guolong1983811/article/details/61414207 
    分布式系统事务 http://www.roncoo.com/article/detail/124243(*) http://blog.csdn.net/mine_song/article/details/64118963
        spring+atomikos+jms 回滚消息队列 http://www.importnew.com/15812.html TCC:http://blog.csdn.net/l1028386804/article/details/73731363
    elasticsearch    http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html    http://blog.csdn.net/sdksdk0/article/details/78469190    
    netty http://www.importnew.com/15656.html http://blog.csdn.net/haoyuyang/article/details/53243785
    socket 选项 TCP NO DELAY 是指什么 http://wisebank.com/article/156    
    dubbo注册中心 http://blog.csdn.net/u011659172/article/details/51491518
    java处理高并发高负载类网站的优化方法  http://mp.weixin.qq.com/s/qCy1YBpnuiP3uMuhGt2lHQ
    storm trident state http://workman666.iteye.com/blog/2347168
    序列化工具Protostuff https://www.cnblogs.com/549294286/p/4612601.html
    跨域 http://igeekbar.com/igeekbar/post/875.htm
    fastDFS https://zhuanlan.zhihu.com/p/32798888
    linux之间共享目录挂载 http://blog.csdn.net/lp19861126/article/details/70211128
    linux文件同步 https://www.cnblogs.com/hanxianlong/p/4583818.html
    SpringBoot项目发布到docker的tomcat容器 http://blog.csdn.net/weixin_39800144/article/details/79213276 接入阿里OSS上传文件 http://blog.csdn.net/weixin_39800144/article/details/79287548
    SpringBoot+Shiro学习之自定义拦截器管理在线用户(踢出用户)http://blog.csdn.net/qq_20954959/article/details/60468545
    kafka tps https://blog.csdn.net/caisini_vc/article/details/48007297
    分布式概念 https://blog.csdn.net/qq_25872739/article/details/59540320
    mysql走向TiDB https://blog.csdn.net/D_Guco/article/details/80641236
    微服务演变 https://blog.csdn.net/yp1125/article/details/79125477
    CDN https://blog.csdn.net/qq_21891743/article/details/79642605
    springboot不同开发环境的配置 https://blog.csdn.net/caideb/article/details/81164347
工具使用
    git 密码存放位置 控制面板\所有控制面板项\凭据管理器
    idea快捷键    https://blog.csdn.net/wei83523408/article/details/60472168
    jdk9新特性    https://www.cnblogs.com/xiongxx/p/6734416.html https://www.ibm.com/developerworks/cn/java/the-new-features-of-Java-9/?cm_mmc=dwchina-_-devmkt-_-oschina-_-bloghome
    模块化详细: https://www.cnblogs.com/lujiango/p/7852120.html    http://www.importnew.com/24528.html
    nginx反向代理(proxy_pass)tomcat导致session失效的问题解决  https://blog.csdn.net/libraryhu/article/details/52859243
    java8 新特性 http://www.jb51.net/article/48304.htm
    java8 optional用法 http://www.importnew.com/22060.html
        <!-- webservice配置 -->
        <bean id="photoService" class="com.pms.ws.impl.PhotoServiceImpl"></bean>
        <jaxws:endpoint id="photoWS" implementor="#photoService" address="/photo"></jaxws:endpoint>
    java8 方法与构造函数引用 方法的参数都得一致
        //IConvert<String, Integer> convertor = (from) -> ( Integer.parseInt(from));  
            IConvert<String, Integer> convertor = Integer::parseInt; //静态方法
        Something something  = new Something();  
            IConvert<String, String> convertor = something::startWith;//对象方法
        class Something{  
            String startWith(String s){  
                return String.valueOf(s.charAt(0));  
            }     
        } 
    js模块化  http://www.ruanyifeng.com/blog/2012/11/require_js.html 非AMD规范加载underscore不写则为如下exports名字,写了则在require引入是function中的名字
        shim: {
        'jquery.scroll': {
          deps: ['jquery'],
          exports: 'jQuery.fn.scroll'
        }
      }
        require(['jquery', 'underscore', 'backbone'], function ($, _, Backbone){
        // some code here
      });
    各大公司Java后端开发面试题总结 http://geek.csdn.net/news/detail/239424 http://blog.csdn.net/huangshulang1234/article/details/78878382
    httpFileServer 远程下载文件
    技术架构 http://geek.csdn.net/news/detail/243047
    js promise用法 http://www.hangge.com/blog/cache/detail_1638.html 
    ES6新特性 http://blog.csdn.net/u012860063/article/details/62218564
    ES7、8 特性 http://blog.csdn.net/xiangzhihong8/article/details/76133194?locationNum=6&fps=1
    打造自己的JavaScript武器库    http://www.jqhtml.com/9521.html
    excel工具类 http://blog.csdn.net/lovoo/article/details/52022527
    内部类的公共方法在别的包也是无法访问的,因为内部类的访问范围是在包内,如beanutils 设置属性时,如何bean类是内部类就会提示找不到set方法
    java实现附件预览(openoffice+swftools+flexpaper)
    20个非常有用的Java程序片段 http://blog.csdn.net/qq_37267015/article/details/77368704
    新技术 https://mp.weixin.qq.com/s/X33jjN5tMRmA7TJvqIZqbw
    maven 模块打包 https://www.cnblogs.com/hiver/p/7850954.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值