摘要:
在CopyOnWriteArrayList的源码中有一个细节值得学习,就是在addIfAbsent方法中ReentrantLock的用法,先是将一个这个成员变量this.lock重新赋值给一个局部变量lock之后再使用它,貌似跟java的内存模型有关,具体说明参考这篇文章:https://www.jianshu.com/p/04236d63f055 public class CopyOnWrite 阅读全文
摘要:
假如我有一个订单相关的统计接口,需要返回3样数据:今日订单数、今日交易额、总交易额。 一般的我们的做法是串行调用3个函数,把调用返回的结果返回给调用者,这3次调用时串行执行的,如果每个调用耗时1秒的话,3次调用总耗时就是3秒。 这种做法效率非常低,因为3次调用之间无所谓先后顺序,所以采用并行执行效率 阅读全文
摘要:
操作步骤: 1.进入/home/servers/codes/xxxx-dev/目录,从git上将项目clone下来; 2.确保/usr/local/xxx/xxxx-dev目录存在; 3.确保sh脚本有可执行权限; 4.执行"sh xxx.sh"命令启动脚本; 阅读全文
摘要:
如果仅仅是为了测试简单使用一下Spring的IOC容器,或者研究一下Spring的容器的源码实现,那么在搭建Spring工程的时候,不需要复杂的xml配置。Spring3.0之后提供了Java注解配置的方式来启动Spring容器。下面是最简单的启动Spring容器的方式: 1.依赖包只需要sprin 阅读全文
摘要:
需求描述:在SpringBoot项目中,一般业务配置都是写死在配置文件中的,如果某个业务配置想修改,就得重启项目。这在生产环境是不被允许的,这就需要通过技术手段做到配置变更后即使生效。下面就来看一下怎么实现这个功能。 来一张核心代码截图: 1.创建一张数据表,用于存储配置信息: 2.自定义注解 3. 阅读全文
摘要:
会员中心修改密码、评论、登录日志和收藏电影4个页面的内容。 一、修改密码页面: 修改密码页面效果图: 二、评论页面: 评论页面效果图: 三、登录日志页面: 登录日志页面效果图: 四、收藏电影页面: 收藏电影页面效果图: 【结束】 阅读全文
摘要:
一、添加会员中心页面的路由 修改app/home/views.py内容,追加会员有关的5个路由: 二、首页样式调整 三、会员中心页左侧菜单部分 创建templates/home/menu.html页面: 四、创建会员中心页 创建app/templates/home/user.html文件,内容: 注 阅读全文
摘要:
一、添加注册页面的路由 修改app/home/views.py内容,追加注册("/regist/")页面的路由: 二、创建注册页 创建app/templates/home/register.html文件,内容: 三、修改首页导航链接 修改app/templates/home/home.html页面导 阅读全文
摘要:
一、添加登录和登出的路由 修改app/home/views.py内容,增加登录("/login/")和登出("/logout/")的路由: 二、创建登录页 创建app/templates/home/login.html文件,内容: 三、修改首页导航链接 修改app/templates/home/ho 阅读全文
摘要:
一、准备静态资源 将项目使用到的静态资源拷贝到static目录 二、创建前台首页html 创建templates/home/home.html页面,内容包含导航和底部版权两部分,中间内容区域为模板标签。 注意静态资源路径部分使用了模板标签"{{url_for()}}"来访问static目录下的静态资 阅读全文