源码

java b2b2c开源商城系统源码

为君一笑 提交于 2019-12-06 05:01:58
网址: www.hulianrongyun.com,本人QQ:4407509,有问题可以联系本人 最近公司要开发商城,让我多方咨询,最后看了很多,要不就是代码、表字段注释不全,要不就是 bug多,要么就是文档缺少,最后决定自己开发一套商城。 下面是开发的一些心得体会,权且记录下来,给自己做个记录把。 本人 QQ:4407509,有问题可以联系本人 之前一直都是在从事电商相关和互联网金融开发,处理过亿级数据量,所以被目前这家公司看重。 由于 Java 是开源的,最近几年 Hadoop 等开源产品越来越成熟,而且是基于 Java 的,所以最终选择 Java 最后后台开发语言,现在前端是自己的前端工程师写的 JS,后期准备改成前端是 PHP ,中间是 Go 语言,后台服务器是 JAVA,因为 PHP 写前端很厉害,不过这个也是后期了。 控制层:这几年 SpringBoot 发展的非常火,而且开发效率比较高, SpringMVC 系列已经完全没落了,所以现阶段选择 SpringBoot 。 视图层: 这个我个人认为哪一个都差不多, jsp 、 freemarker 也好,最终都是生成的 html 。 数据库 设计: 1、关键的一个是绝对不能有外键强关联 , 我看到类似用 hibernate 、 SpringData 产品的一些公司,全部都是强关联,那你以后想删除一些数据,那真是噩梦的

java b2b2c多用户商城源码

谁都会走 提交于 2019-12-06 05:01:57
网址: www.hulianrongyun.com,本人QQ:4407509,有问题可以联系本人 最近公司要开发商城,让我多方咨询,最后看了很多,要不就是代码、表字段注释不全,要不就是 bug多,要么就是文档缺少,最后决定自己开发一套商城。 下面是开发的一些心得体会,权且记录下来,给自己做个记录把。 本人 QQ:4407509,有问题可以联系本人 之前一直都是在从事电商相关和互联网金融开发,处理过亿级数据量,所以被目前这家公司看重。 由于 Java 是开源的,最近几年 Hadoop 等开源产品越来越成熟,而且是基于 Java 的,所以最终选择 Java 最后后台开发语言,现在前端是自己的前端工程师写的 JS,后期准备改成前端是 PHP ,中间是 Go 语言,后台服务器是 JAVA,因为 PHP 写前端很厉害,不过这个也是后期了。 控制层:这几年 SpringBoot 发展的非常火,而且开发效率比较高, SpringMVC 系列已经完全没落了,所以现阶段选择 SpringBoot 。 视图层: 这个我个人认为哪一个都差不多, jsp 、 freemarker 也好,最终都是生成的 html 。 数据库 设计: 1、关键的一个是绝对不能有外键强关联 , 我看到类似用 hibernate 、 SpringData 产品的一些公司,全部都是强关联,那你以后想删除一些数据,那真是噩梦的

由一次Set删除失效引发的源码探究

旧巷老猫 提交于 2019-12-06 04:38:34
引子 记一次在工作当中,有这样一个业务场景: ​ 在通过接口返回前,需要为一个set中的所有元素赋值,然后剔除掉一些不符合条件的元素,最后返回。代码结构大概如下: 代码 Set<Item> sets = Sets.newHashSet(); sets.addAll(items); ... setValue(sets) ; //剔除sets中不符合条件的元素 **sets.removeIf(Predicate filter);** //为set中的元素设置属性 private setValue(Set<Item> sets){ for(Item:item sets){ ... } } 看似是一段clean code,逻辑清晰,实则蕴藏杀机;大家大概一眼就能看出其中玄机,其中的removeif压根就不起作用啊,可是菜如狗的我还没发现其中一二,还在慢慢的debug,写单元测试,并单纯的以为是编译的问题...终于一位同事在review之后,一语点醒我:"removeIf 是如何找到你要删除的元素的呢?" 原因 终于,我在查看了set集合removeIf与addAll的原理以后,顿悟了,主要有四个关键点: HashSet底层实际上就是一个HashMap, 节选一段hashSet的构造方法就能发现,其中key为要添加的元素,value为Present,如下: // Dummy value to

NXP官方的i.mx6ul板级uboot源码适配

僤鯓⒐⒋嵵緔 提交于 2019-12-06 04:19:57
1、CoM-P6UL是盈鹏飞科技有限公司基于NXP原厂i.mx6ul芯片生产研发的核心板,本文将对CoM-P6UL适配NXP的基于Linux4.1.15版本的uboot板级源码。 2、开发环境 目标板:CoM-P6UL(Nand Flash:256MB,RAM:256MB) 主机:Linux ubuntu 4.15.0-70-generic 交叉编译工具链:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf 来源: https://www.cnblogs.com/Cqlismy/p/11961485.html

源码包的安装与管理

馋奶兔 提交于 2019-12-06 04:14:14
在上一篇博客中我已经介绍了rpm包的安装与管理,今天我们来说一说源码包的安装与管理。 一、软件包的选择 如果软件包是给大量客户提供访问,建议使用源码包安装,如LAMP环境搭建,因为源码包效率更高。 如果软件包是给Linux底层使用,或只给少量客户访问,建议使用rpm包安装,因为rpm包简单。 在如今硬件水平的不断提高,这两种软件包安装的效果差距越来越小,还是看自己的选择,追求速度的话可以选择rpm包,更多的功能和扩展可以选择源码包安装。 二、安装过程 (1)下载软件包。 (2)解压缩。 (3)进入解压目录。 (4)./configure 编译前准备 这一步主要有三个作用: 在安装之前需要检测系统环境是否符合安装要求。 定义需要的功能选项。“./configure”支持的功能选项较多,可以执行“./configure --help” 命令查询其支持的功能。一般都会通过“./configure --prefix=安装路径”来指定安装路径。 把系统环境的检测结果和定义好的功能选项写入 Makefile 文件,后续的编译和安装需要依赖这个文件的内容。 需要注意的是,configure 不是系统命令,而是源码包软件自带的一个脚本程序,所以必须采用 “./configure”方式执行(“./”代表在当前目录下)。 (5)make 编译 make 会调用 gcc 编译器,并读取 Makefile

点击一个图片换成另外一个图片 jquery

 ̄綄美尐妖づ 提交于 2019-12-06 03:42:10
如图一个下三角的按钮,一般在菜单栏应用 当点击他的时候,换成下面一个上三角的符号 html源码: < img id= "recommend_btn" src= "images/shopping_arrow_down.gif" alt= "" > jquery源码 $ ( "#recommend_btn" ). click ( function (){ $ ( "#recommend_btn" ). attr ( "src" , "images/shopping_arrow_up.gif" ); }); 主要用了attr() 来源: CSDN 作者: water_Popcorn 链接: https://blog.csdn.net/water_Popcorn/article/details/78113158

Spring核心源码:ApplicationContext

寵の児 提交于 2019-12-06 03:34:44
废话 spring版本:4.0.6 随便做了这么多年的spring,但是源码就只阅读过 shiro的。一直想去读一下spring,mybatis,netty,这些结构优美的开源框架的源码。 核心包: spring-context :spring的上下文类,管理可以看作是spring容器的主要管理者,及对外提供接口方。 ApplicationContext : spring-core :核心工具包,提供了环境、解析工具、创建工具。 spring-beans : bean对象创建、对象属性加载 spring-aop :IOC注入工具 spring-expression :展示工具包,类型转换,反射工具。 基本流程: 1.创建beanFactory、BeanDefinition(一个bean的信息类) ( context )AbstractApplication.refresh():核心类型。初始化环境信息,加载配置路径、实例化对象 ( context )AbstractApplication.prepareRefresh():加载环境信息 ( context )AbstractApplication.obtainFreshBeanFactory():创建bean工程 ( context )AbstractRefreshableApplicationContext

ArrayList源码的 elementData.getClass() != Object[].class

…衆ロ難τιáo~ 提交于 2019-12-06 03:18:54
/*--> */ /*--> */ 1. 放出源码 2. elementData与Object[]   elementData的定义如下 transient Object[] elementData; // non-private to simplify nested class access   请看如下代码 package test; public class UserTest2 { public static void main(String[] args) { User[] users = new User[]{ new User(1, "admin", "admin@qq.com"), new User(2, "maco", "maco@qq.com"), new User(3, "kitty", "kitty@163.com") }; Object[] target = users; System.out.println(target.getClass()); // class [Ltest.User; target[0] = new Object(); // java.lang.ArrayStoreException: java.lang.Object } }   显然直接将非Object[]类型数组赋予Object[]类型, 相当于将子类对象赋予父类变量,

dubbo-源码阅读之容器启动

隐身守侯 提交于 2019-12-06 02:51:51
dubbo Main 例子 public class Start { public static void main(String[] args) throws Exception { com.alibaba.dubbo.container.Main.main(args); } } 源码 public class Main { //系统变量 public static final String CONTAINER_KEY = "dubbo.container"; public static final String SHUTDOWN_HOOK_KEY = "dubbo.shutdown.hook"; private static final Logger logger = LoggerFactory.getLogger(Main.class); //SPI的container Loader容器 private static final ExtensionLoader<Container> loader = ExtensionLoader.getExtensionLoader(Container.class); private static final ReentrantLock LOCK = new ReentrantLock(); private static final

从物联网防火墙himqtt源码谈哈希和红黑树的应用场景区别

落爺英雄遲暮 提交于 2019-12-06 01:53:14
从物联网防火墙 himqtt 源码谈哈希和红黑树的应用 场景区别 himqtt 是首款完整源码的高性能 MQTT 物联网防火墙 - MQTT Application FireWall , C 语言编写,很多数据结构适合初学者收藏。 哈希和红黑树的详细教程很多,本文就不重复了,但初学者往往云里雾里,不知道实战项目该用谁,今天笔者就从结合 himqtt 的源码,从物联网安全角度来对比一下哈希数据结构和红黑树的应用场景。 一、哈希和红黑树基本原理 哈希( hash )也称散列,通过散列算法变成固定的输出到数组,所有的线性数据结构中,数组的定位速度最快,因为它可通过数组下标直接定位到相应的数组空间,就不需要一个个查找。 红黑树的自旋是天才的设计,是一种特殊的平衡二叉树数据结构,特点也是从几十万的数据里面几步就能查找到,速度快。 二、物联网安全使用场景 首先 github 上下载源码, https://github.com/qq4108863/himqtt ,在 src\waf 目录有 hashmap.c 和 mqtt_rbtree.c ,分别是哈希和红黑树算法。 1 、速度对比 物联网可能是数百万设备联网,对高并发要求很大,所以,对网络安全产品第一要求的是性能和速度。总体来说,哈希查找速度会比红黑树快,而且查找速度基本和数据量大小无关,属于常数级别 ; 而 RB 树的查找速度是 log(n