学习笔记

设计模式(Java语言)-单例模式

单例模式,简而言之就是在整个应用程序里面有且仅有一个实例,在程序的任何时候,任何地方获取到的该对象都是同一个对象。单例模式解决了一个全局的类被频繁创建和销毁的,或者每次创建或销毁都需要消耗大量cpu资源的对象的问题。单例模式总的可以分为懒汉模式和饿汉模式,顾名思义,懒汉模式是一个非常懒的汉子,只要你没有使用到它,它就永远不会实例化。饿汉模式的意思就是,汉子非常饥渴,只要在程序的编译阶段就给你分配内存,创建好对象。   将懒汉模式和饿汉模式细分,又可以分为:   1、懒汉模式   2、饿汉模式 ...

[springboot 开发单体web shop] 6. 商品分类和轮播广告展示

目录 商品分类&轮播广告 商品分类|ProductCategory 需求分析 开发梳理 编码实现 轮播广告|SlideAD 需求分析 开发梳理 编码实现 福利讲解 源码下载 下节预告 商品分类&轮播广告 因最近又被困在了OSGI技术POC,更新进度有点慢,希望大家不要怪罪哦。 上节 我们实现了登录之后前端的展示,如: 登录展示效果 子分类 接着,我们来实现左侧分类栏目的功能。 商品分类|ProductCategory 从上图我们可以看出,商品的分类其实是有层级关系的,而且这种关系一般都是无限层级。在我们的实现中,为了效果的展示,我们仅仅是展示3级分类,在大多数的中小型电商系统中,三级分类完全足够应对SKU的分类。 ...

技术人如何利用 github+Jekyll ,搭建一个独立免费的技术博客

 上次有人留言说,技术博客是程序员的标配,但据我所知绝大部分技术同学到现在仍然没有自己的技术博客。原因有很多,有的是懒的写,有的是怕写不好,还有的是一直想憋个大招,幻想做到完美再发出来,结果一直胎死腹中。但其实更多程序员是不知道如何去搭建一个博客,其实如今搭建一个个人技术博客非常简单,其中最简单搭建方式莫属使用 GitHub Pages + Jekyll 了,我的博客就是使用这种技术。...

Spring Boot2 系列教程(二十四)Spring Boot 整合 Jpa

Spring Boot 中的数据持久化方案前面给大伙介绍了两种了,一个是 JdbcTemplate,还有一个 MyBatis,JdbcTemplate 配置简单,使用也简单,但是功能也非常有限,MyBatis 则比较灵活,功能也很强大,据我所知,公司采用 MyBatis 做数据持久化的相当多,但是 MyBatis 并不是唯一的解决方案,除了 MyBatis 之外,还有另外一个东西,那就是 Jpa,松哥也有一些朋友在公司里使用 Jpa 来做数据持久化,本文就和大伙来说说 Jpa 如何实现数据持久化。 ...

webpack优化之玩转代码分割和公共代码提取

前言 开发多页应用的时候,如果不对webpack打包进行优化,当某个模块被多个入口模块引用时,它就会被打包多次(在最终打包出来的某几个文件里,它们都会有一份相同的代码)。当项目业务越来越复杂,打包出来的代码会非常冗余,文件体积会非常庞大。大体积文件会增加编译时间,影响开发效率;如果直接上线,还会拉长请求和加载时长,影响网站体验。作为一个追求极致体验的攻城狮,是不能忍的。所以在多页应用中优化打包尤为必要。那么如何优化webpack打包呢? 一、概念 在一切开始前,有必要先理清一下这三个概念: module: 模块,在webpack眼里,任何可以被导入导出的文件都是一个模块。 ...

[ch01-03]神经网络基本原理

系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力。 前言 For things I don't know how to build, I don't understand. 如果我不能亲手搭建起来一个东西,那么我就不能理解它。 -- 美国物理学家理查德·费曼 在互联网发达的今天,很多知识都可以从网络上找到,但是网络上的博客、文章的质量参差不齐,或者重点不明确,或者直接把别人的博客抄袭过来。这种状况使得广大的初学者们学习起来很困难,甚至误入歧途,增加了学习曲线的陡峭程度。当然也有很多博主非常非常负责任,文章质量很高,只是连续度不够,正看得过瘾的时候,没有后续章节了,无法形成知识体系。 ...

详解JavaScript错误捕获和上报流程

目录 Q1. 同步代码里的错误捕获方式 Q2. 普通的异步回调里的错误捕获方式(Promise时代以前) Q3. Promise里的错误捕获方式 Q4.async/await里的错误捕获方式 Q5.在全局环境下如何监听错误 Q6.在React16以上如何监听错误 Sentry简单介绍 在JavaScript中使用Sentry Sentry的核心功能总结 正文 怎么捕获错误并且处理,是一门语言必备的知识。在JavaScript中也是如此。 那怎么捕获错误呢?初看好像很简单,try-catch就可以了嘛!但是有的时候我们发现情况却繁多复杂。 ...

从最近面试聊聊我所感受的职业天花板

## 特别特别严肃的申明 (正经的) 未免引起误解,标题已修改。 我一开始写这篇文章,也纯粹是有感而发。实在没想到会引起如此多的关注。甚至还被社区大佬翻牌。说实话,诚惶诚恐。 再次申明一遍,我写的也仅仅只是我个人的感受,我就是万万千千的普通码农中的一个,所写文章也仅仅是从自我角度出发。 不具备任何普适性参考性。请大家看清标题,只是个人感受,不适用.net整个行业。尤其请大家不要拿我的经历作为语言选择的参考。 。net也好,java也好,每个语言都有自己的生态,选择语言之前请先确认自己的能力,请不要抱怨语言害了你,请先审视自己是否一直在努力进步,还是只是在随大流。 ...

【并发编程】synchronized的使用场景和原理简介

1. synchronized使用# 1.1 synchronized介绍# 在多线程并发编程中synchronized一直是元老级角色,很多人都会称呼它为重量级锁。但是,随着Java SE 1.6对synchronized进行了各种优化之后,有些情况下它就并不那么重了。 synchronized可以修饰普通方法,静态方法和代码块。当synchronized修饰一个方法或者一个代码块的时候,它能够保证在同一时刻最多只有一个线程执行该段代码。 对于普通同步方法,锁是当前实例对象(不同实例对象之间的锁互不影响)。 ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程