源码

Java 程序员必备的 15 个框架,前 3 个地位无可动摇!

与世无争的帅哥 提交于 2020-01-25 07:14:26
Java 程序员方向太多,且不说移动开发、大数据、区块链、人工智能这些,大部分 Java 程序员都是 Java Web/后端开发。那作为一名 Java Web 开发程序员必须需要熟悉哪些框架呢? 今天,栈长我给大家列举了一些通用的、必须掌握的框架,学会这些,20K+ 不是问题。 1.Spring 毫无疑问,Spring 框架现在是 Java 后端框架家族里面最强大的一个,其拥有 IOC 和 AOP 两大利器,大大简化了软件开发复杂性。并且,Spring 现在能与所有主流开发框架集成,可谓是一个万能框架,Spring 让 JAVA 开发变得更多简单。 官网: https://spring.io/projects/spring-framework 源码: https://github.com/spring-projects/spring-framework 推荐: Java 必看的 Spring 知识汇总 更多请在Java技术栈微信公众号后台回复关键字:spring。 2.Spring MVC Spring MVC 是一个 MVC 开源框架,用来代替 Struts。它是 Spring 项目里面的一个重要组成部分,能与 Spring IOC 容器紧密结合,以及拥有松耦合、方便配置、代码分离等特点,让 JAVA 程序员开发 WEB 项目变得更加容易。 官网: https://spring

MyBatis源码的学习(19)---如何将jdbc的返回结果resultSet处理为我们想要的java类型

 ̄綄美尐妖づ 提交于 2020-01-25 07:04:09
处理结果集的逻辑:ResultSetHandler---->TypeHandler @Override public <E> List<E> doQuery(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException { Statement stmt = null; try { Configuration configuration = ms.getConfiguration(); StatementHandler handler = configuration.newStatementHandler(wrapper, ms, parameter, rowBounds, resultHandler, boundSql); //这一步完成connection建立,statement对象的创建,参数的赋值操作 stmt = prepareStatement(handler, ms.getStatementLog()); //我们今天看者一行,如何将jdbc返回的resultSet对象处理为我们想要的java类型 return handler.query(stmt, resultHandler);

微商城三级分销源码公众号开发 微分销 C#源码

喜夏-厌秋 提交于 2020-01-25 03:43:27
需要源码,请加QQ:858-048-581 ,可以查看演示 运行环境:vs2012+ sql2008r2 【什么是微分销】 微分销是助力企业进军移动电商,完善分销体系搭建微信分销系统。基于微信平台,搭建微信分销商城,让用户享受优质无线购物体验;独创三级分销模式,快速拥有最广泛的微信分销渠道;零门槛招募优质微商,分销商一键开分店,让亿万粉丝成为你的分销商,让你的商品迅速占领朋友圈! 【微分销能帮你做什么】 1. 国内独创微信三级分销模式,轻松收获微商帮你卖货 主站平台,自由设置三个等级的分销商分佣佣金体系。三级分销模式,每个分销商发展第二级分销商,第二级分销商后可以无限发展第三级分销商。合理的利润分配体系可以让经销商更加直观的看到自己的收益,同时提高经销商的积极性。 2. 玩法自己定,分销商自动来,快速打造微信分销体系卖货 商家拥有的微信商城,给分销商复制千万个分销微店,免除分销商管理商品的困扰,瞬间形成分销体系。 3. 直连微信朋友圈,快速引流收获百分粉丝卖货 通过海量朋友圈,做信赖的口碑营销,让员工、顾客、好友都推荐和销售你的产品,收获朋友圈粉丝帮你卖货。 来源: https://www.cnblogs.com/bqh10086/p/6746512.html

centos7源码编译安装Subversion 1.9.5

早过忘川 提交于 2020-01-25 03:01:54
svn是Subversion的简称,是一个开放源代码的版本控制系统。 svn有两种运行方式:1、独立服务器(svn://xxx.xxx/xxx) 2、借助apache(http://svn.xxx.xxx/xxx) svn存储版本数据也有两种方式:1、BDB(事务安全型表类型) 2、FSFS(一种不需要数据库存储系统) 因为BDB方式在服务中断时,可能锁住数据,这里我们选择独立服务器和FSFS方式安装svn。 一、下载安装Subversion必要的源码文件 安装svn需要apr,apr-util,zlib,serf,openssl的支持,serf的编译安装又需要scons 所以这里我们用yum来安装zlib和openssl,源码编译apr,apr-util,serf,scons subversion源码包 http://mirrors.cnnic.cn/apache/subversion/subversion-1.9.5.tar.gz apr源码包 http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz apr-util源码包 http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz serf源码包 https://www

Spring源码分析之——AOP的原理及初始化细节

倖福魔咒の 提交于 2020-01-25 02:46:53
废话不多说!!!!!! AOP 是 Aspect Oriented Programming 的缩写,译为面向切向编程。 原理:Spring AOP的底层源码是基于动态代理和拦截器模式。 对拦截器有疑问的可以看: 设计模式之——拦截器模式 为什么要动态代理? ——答:因为业务类本身是不会主动调用切面逻辑(避免耦合),所以业务类必须被代理,由代理类负责调用业务类,并且调用切面;Spring AOP的JDK动态代理的Invocation类是:JdkDynamicAopProxy,这个类完完整整地实现了动态代理以及后续的拦截器模式的切面调用。 AOP调用切面的原理? ——答:AOP的切面调用本质上是一个拦截器模式,通过解析配置文件把Adivce Bean(切面Bean)封装成一个个拦截器(Interceptor),组成一个调用链(chain),在代理类中调用,调用方式同拦截器模式一模一样。 看上图,切面Bean可以实现MethodBeforeAdvice, AfterReturning, Throwing等接口,实现invoke方法,而Spring通过MethodBeforeAdviceInterceptor,AfterReturningAdviceInterceptor等拦截器类封装业务切面Bean,这样就可以持有业务Advice Bean对象

网上spring源码分析资源汇总

偶尔善良 提交于 2020-01-25 02:28:04
https://www.jianshu.com/u/83d13e631c12 这是一个很不错很全面的spring和spingboot源码分析的博客,作者分析的很详细,源码几乎每行都有注释。 https://javadoop.com/post/spring-ioc 关于spring ioc原理的源码分析,很有深度,可以多读。 https://javadoop.com/post/spring-aop-intro https://javadoop.com/post/spring-aop-source spring aop分析,也是很全面详细。 来源: CSDN 作者: chuixue24 链接: https://blog.csdn.net/chuixue24/article/details/103814719

spring AOP源码分析(一)

一世执手 提交于 2020-01-25 02:12:08
对于springAOP的源码分析,我打算分三部分来讲解:1.配置文件的解析,解析为BeanDefination和其他信息然后注册到BeanFactory中;2.为目标对象配置增强行为以及代理对象的生成,可以理解为AOP的准备阶段;3.代理对象调用方法,增强行为的触发执行,此时是AOP生效的阶段。我们可以把1,2理解为IOC阶段;2,3理解为AOP阶段。 我们先看第一部分:BeanDefination的解析注册过程 由一个demo进入源码分析,创建一个接口UserDao public interface UserDao { void addUser(); void deleteUser(); } 创建UserDaoImpl类 public class UserDaoImpl implements UserDao{ public void addUser() { System.out.println("add user "); } public void deleteUser() { System.out.println("delete user "); } } 创建一个Logger类 public class Logger { public void recordBefore(){ System.out.println("recordBefore"); } public void

程序员修炼之道读后感2

百般思念 提交于 2020-01-25 00:26:36
俗话说,工欲善其事,必先利其器。作为软件工程师掌握好几门工具是取得成功的根本。花时间去学习这些工具,你会有意想不到的收获。用纯文本来保存知识,但其也有一些缺点如所占空间较大,但其优点也很明显如永不过时,杠杆作用,易于调试。 学会使用shell,使你的生产力提高。至少用好一种编辑器,彻底了解他,掌握它,因为它是可扩展,可配置,可编程。 使用源码控制系统来追踪你在源码和文档中所做的每一项变动,将自己日常工作保存在仓库中。不要恐慌,当调试时产生了BUG,要理清自己的思路,不要在一些不切实际的地方浪费时间。 作为程序员要明白自己不可能写出完美的软件,但是你可以让自己的程序变得更好,所以当有问题出现时不要害怕,去勇敢的解决他,你自己将会变得更加完美,能力将会更强。 学会断言时编程,计算机是不会说谎的,跟它打交道比与人更简单,它会如实的反应你的问题,你只需要改正就可以了。因此在编程是不要进行自我欺骗,而是尽快找到它的问题,加以解决,而断言则可以帮助你更好解决这一问题。 注重实际的程序员谁也不信任,包括我们自己。 来源: https://www.cnblogs.com/bingoing/p/4359158.html

对拍程序讲解及源码举例

冷暖自知 提交于 2020-01-24 15:36:27
对拍程序 一、介绍   在做题或者正式比赛过程中总会把水题做水做乱,但因为样例有坑所以直接过了样例,然后拿去评测结果发现全WA。那如何在这种情况下检查自己程序或算法的正确性呢?对拍是一个 简便省事 的方案。   所谓“对拍”,顾名思义,就是让两者 相互比对 。所谓“两者”,一是你要 测试的程序 ,二是一个答案在该程序 在一定范围(时间/空间)内结果必定正确的程序 (一般是用暴力求解的程序) 。   两个程序准备好编译好了以后,就可以开始准备测试用的输入样例了。但是输入样例要是人为准备起来的话肯定浪费时间还费脑,更别提在正式比赛的时候了。人脑靠不住,那就靠电脑。   为了让测试的样例 更全面 ,我们可以用 伪随机数 的方法。我们需要用到这几个高贵妖艳的头文件: #include <cstdio> #include <ctime> #include <cstdlib>   在高中数学的统计知识中学过的随机抽样,可以用随机数表法选取一些随机的数值。在生成随机数时也是用这个原理。首先 利用srand()函数 在随机数表中找一个点,作为取随机数的 起始点 。但是如何做到每次选不同的起始点来取数呢? 时间是一直在变化的 ,所以用time(0)取系统时间放入srand()函数中去, 每次取的起始点都不一样 。 如果用固定值的话,每次取得的随机数都会是一样的 。   接下来

Mysql 8.0 源码编译 多实例安装

淺唱寂寞╮ 提交于 2020-01-24 14:48:22
https://blog.csdn.net/cuilouyi9469/article/details/100438142 一、准备工作 下载安装包 路径: https://dev.mysql.com/downloads/mysql/ 这里选择 mysq-8.0.16.tar.gz 清理已有版本 ##查询 rpm -qa | grep mysql rpm -qa | grep maria ##清理(如果存在的话) yum remove mysql ##或者 yum remove mariadb 安装依赖包 (1)常规依赖 yum -y install gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel (2)特殊版本的依赖 编译的时候,分别错误提示: CMake 3.4.3 or higher is required. GCC 5.3 or newer is required 所以需要安装Cmake和GCC的相关版本 请参考: http://blog.itpub.net/69915315/viewspace-2648182 二、编译安装(软件) 解压安装包 tar -zxvf tar -zxvf mysql-8.0.16.tar.gz cmake配置 (1) 进入目录 mysql-8.0.16