自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 深入理解JVM 专题—内存分配

前言:java 技术体系中所提倡的自动内存管理最终可以归结为自动化的解决了两个问题:给对象分配内存以及回收分配给对象的内存。对象的内存分配,往大方向讲,就是在堆上分配,对象主要分配在新生代的Eden 区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB 上分配。对象优先在Eden 分配:大多数情况下,对象在新生代Eden 区中分配。当Eden 区没有足够空间进行分配时,虚拟机将...

2019-08-26 15:57:53 146

原创 深入理解JVM 专题—垃圾收集

前言:我们为什么要了解GC和内存分配呢?答案很简单:当需要排查各种内存溢出,内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。先抛出以下几个问题:哪些内存需要回收 什么时候回收 如何回收java 内存运行时区域的各个部分,其中程序计数器,虚拟机栈,本地方法栈3个区域随线程而生随线程而灭;栈中的栈帧随着方法的进入和退出而...

2019-08-26 15:29:05 154

转载 神经网络是如何进行预测的

上一篇文章中我们已经知道了如何将数据输入到神经网络中。那么神经网络是如何根据这些数据进行预测的呢?我们将一张图片输入到神经网络中,神经网络是如何预测这张图中是否有猫的呢??这个预测的过程其实只是基于一个简单的公式:z = dot(w,x) + b。看到这个公式,完全不懂~~不少同学可能被吓得小鸡鸡都萎缩了一截。不用怕,看完我下面的解说后,你就会觉得其实它的原理很简单。就像玻璃栈道一样,只是看起来可怕而已。上面公式中的x代表着输入特征向量,假设只有3个特征,那么x就可以用(x1,x2,x3)来表示

2021-09-03 18:58:28 4190 3

转载 什么是神经网络

转载出处:https://www.captainbed.net/whatisnn/什么是人工智能?通俗来讲,就是让机器能像人一样思考。这个无需解释太多,因为通过各种科幻电影我们已经对人工智能很熟悉了。大家现在感兴趣的应该是——如何实现人工智能?从1956年夏季首次提出“人工智能”这一术语开始,科学家们尝试了各种方法来实现它。这些方法包括专家系统,决策树、归纳逻辑、聚类等等,但这些都是假智能。直到人工神经网络技术的出现,才让机器拥有了“真智能”。为什么说之前的方法都是假智能呢?因为我们人类能清清楚

2021-09-03 18:54:01 1049

原创 人工智能:前言

提示:以下包括以后博客内容,有部分是我借鉴了目前人工智能大咖的博客或者文稿内容,有部分是我自己编写,我们尊重原创,尊重版权,引用链接:https://www.captainbed.net/人工智能被认为是一种拯救世界、终结世界的技术。毋庸置疑,人工智能时代就要来临了,科幻电影中的场景将成为现实,未来已来!我很担忧。正是因为对人工智能的钻研,让我深深地知道它的无比强大。我担忧的不仅仅是它将取代人类的工作,而是将取代整个人类——毁灭人类。在将来不懂人工智能就像现在不懂操作电脑的人一样,会被社会.

2021-09-03 18:51:07 1711

原创 开发环境配置

1.python 安装(建议安装 3.0 版本以上,兼容问题)官网: https://www.python.org/2.Anaconda 安装官网:https://www.anaconda.com/products/individual-d清华大学镜像地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/安装教程:https://www.jianshu.com/p/3084e62f51b1验证安装是否成功:1.点击电脑屏

2021-09-03 16:22:19 151

原创 人工智能深入浅出:开篇词

人工智能学习

2021-09-03 16:09:36 321

原创 读《软件测试的艺术》笔记-草稿

软件测试的定义:为了发现软件错误而执行程序的过程。软件测试心理学:1.软件测试是以发现软件中的错误为目标,而不是为了证明软件做了该做的,或者为了证明软件没有错误。2.成功的测试,失败的测试。不应该以没有发现软件中的错误就定义为成功的测试,发现了软件中的错误就定义为失败的测试,让人沮丧,这种定义是对测试充满了恐惧与抗拒心理的。我们应该双手迎接测试,测试的初衷是为了保障软件稳定,高质量...

2020-05-08 12:20:03 275

原创 浅谈数据库连接池

池参数(所有池参数都有默认值):初始大小:10个最小空闲连接数:3个增量:一次创建的最小单位(5个)最大空闲连接数:12个最大连接数:20个最大的等待时间:1000毫秒四大连接参数连接池也是使用四大连接参数来完成创建连接对象!实现的接口连接池必须实现:javax.sql.DataSource接口!连接池返回的Connection对象,它...

2020-04-18 21:23:51 505

原创 初识数据库事务

事务概述为了方便演示事务,我们需要创建一个account表: CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(30), balance NUMERIC(10.2) ); INSERT INTO account(NAME,balance) VA...

2020-04-18 21:21:17 178

原创 初识 JDBC

JDBC入门导jar包:驱动! 加载驱动类:Class.forName(“类名”); 给出url、username、password,其中url背下来! 使用DriverManager类来得到Connection对象!1 什么是JDBCJDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据...

2020-04-18 19:22:58 259

转载 PreparedStatement 预编译

什么是预编译语句?预编译语句PreparedStatement是java.sql中的一个接口,它是Statement的子接口。通过Statement对象执行sql语句时,需要将sql语句发送给DBMS,由DBMS首先进行编译再执行(在创建通道的时候并不进行sql的编译工作,事实上也无法进行编译)。而通过PreparedStatement不同,在创建PreparedStatement对象时就指定...

2020-04-18 19:07:27 1157

原创 用poi解析excel如何避免处理空行问题

最近做了一个批量上传订单的功能,支持excel模板下载,excel数据上传。在对excel上传的数据做校验的时候发现一个问题:excel被解析的时候总是在解析完“非空数据行”的后面的末尾行便停止解析。这就导致我后面的特定字段的非空验证出现了问题,直接上代码吧。 /** * 验证小平台和线下手工单Excel是否填写有误 * @param importPlatformAndOf...

2019-08-27 11:10:26 2522

原创 深入理解java虚拟机专题—实战 OutOfMemoryError 异常

前言:通过这篇博文,我们可以学习到:第一,通过代码验证Java 虚拟机规范中描述的各个运行时区域存储的内容;第二,希望我们在工作中遇到实际的内存溢出异常时,能根据异常的信息快速判断是哪个区域的内存溢出,知道什么样的代码可能会导致这些区域内存溢出,以及出现这些异常后该如何处理。Tips:下文代码的开头都注释了执行时所需要设置的虚拟机启动参数(注释中“VM Args” 后面跟着的参数),这...

2019-08-22 15:54:45 393

原创 分布式架构专题—分布式协调服务 zookeeper

前言:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户中心化和去中心化:分布式架构里面,很多的架构思想采用的是:当集群发生故障的时候,集群中的人群会自动“选举”出一个新的领导,最典型的...

2019-08-21 17:48:25 219

原创 分布式架构专题(一)概述

前言:每个程序员都梦想有一天能成为架构师,技术大牛,当然我也想。所以现在慢慢将分布式架构的技术栈整理成一个个专题,慢慢积累,在工作中实践,希望一天可以到达那个高度看看那里的风景。下面引用架构师流行的一句话:作为一名架构师,我们要专业,要能看懂代码,即使光着臂膀去机房,也能独挡一面!即使同事搞不定问题,或者撂挑子,你也能给老大一个坚定的眼神:不怕,有我在!还能在会议室里滔滔不绝,如若无人,让不懂...

2019-08-19 16:12:35 517

原创 数据结构专题—计算机中常用的数据结构

前言:在学习java 相关技术或者学习mysql 存储引擎 InnoDB 的时候,会发现其底层运用了大量的数据结构。之所以不从java这门语言来展开讲数据结构是因为:数据结构是不分语言不分平台的。如果单纯从一门开发语言讲数据结构会局限与语言本身。所以打算以计算机常用数据结构这一更高的维度来讲数据结构。作为一个专题的目的在于一方面可以对数据结构相关的知识点做统一整理,方便以后查阅;另一方面也希...

2019-08-15 17:55:15 4019 1

原创 二进制运算专题 — java中常用的二进制运算

前言:在看HashMap 源码时发现,HashMap 的 put 方法中用到了位运算,与运算,异或运算等二进制运算。对于这种平时不常用的知识点,很容易遗忘。同时在看java技术栈相关源码时也会发现有大量的二进制运算,所以写这篇博客的目的就是整理出java技术中常用的二进制运算,一方面方便自己查阅和积累,另一方面也想分享给那些刚好看到这篇博文的同学,希望能帮助到你。注意:java中所有的二...

2019-08-14 18:14:38 433

原创 Maven的仓库和settings.xml配置文件

https://blog.csdn.net/qq_25827845/article/details/83549846

2019-08-13 17:15:36 162

原创 maven(三)最详细的profile的使用

https://blog.csdn.net/java_collect/article/details/83870215

2019-08-13 16:36:45 209

原创 浅析HashMap源码系列----put过程(JDK1.8版)

https://blog.csdn.net/qq_42742861/article/details/96576271

2019-08-09 18:00:18 250

原创 为什么HashMap桶(链表)的长度超过8才会转换成红黑树?

https://blog.csdn.net/daiyuhe/article/details/89424736

2019-08-09 17:21:50 1579

原创 为什么HashMap中链表长度超过8会转换成红黑树

https://www.cnblogs.com/rgever/p/9643872.html

2019-08-09 17:20:57 1290

转载 用redis做缓存服务器实现单点登录

转自:https://blog.csdn.net/u010191243/article/details/74015463

2019-07-18 17:46:45 666

转载 来一次彻底解决Java的值传递和引用传递

转载自这里:https://blog.csdn.net/qq_43171869/article/details/83349282

2019-07-18 16:01:07 253

原创 由单例设计模式想到的

今天看单例设计模式时,偶然想到一个问题:既然单例设计模式可以减少内存开销,为啥我们不把所有类都设计成单例的?这样就可以所有线程都共享一个对象,避免创建对象造成内存开销了。个人观点:打个比方,如果将HashMap 这种集合类设计成单例的话,如果多个线程同时访问该类的实例,可能会有线程安全问题。如果使用concurrentHashMap 又会影响执行效率。如果不设计成单例的,每此实例化的对象...

2019-07-13 11:15:19 119

转载 23中设计模式-单例模式

概述:保证一个类仅有一个对象,并提供一个访问它的全局访问点。当系统需要某个类只能有一个实例时,就可以采用单例模式。特点:单例类只有一个实例;单例类必须自己创建自己唯一的实例;单例类必须给其他所有对象单例模式的实现方式。1,直接实例化。public class singleton{ private singleton(){ };private static final sin...

2019-07-13 11:04:45 129

转载 23种设计模式概述(分类和原则)

设计模式的六大原则设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是[软件工程]的基石脉络。一,分类创建型模式:5钟,对象实例化的模式,创建型模式用于解耦对象的实例化过程。      工厂方法模式、抽象工厂模...

2019-07-13 10:29:48 165

原创 论构建代码前期工作的重要性

在开发之前做好设计,流程图,伪代码等前期工作是必要的。可以清晰的指导我该怎么做,而不是边做边想。看似浪费了前期的时间,实际上节省了构建代码反复思考,反复修改的时间。制定好技术方案可以交由同事进行评审,评审通过再进行开发。在与前端对接时,为了避免沟通结果与执行结果不一致的情况,应该在阐述了自己观点以后让前端再讲一遍,在达成共识的基础上进行开发,避免返工。为了表达清晰,对与功能比较复杂的逻辑,应该给出...

2018-08-07 16:33:22 479

原创 如何构建子程序,写代码该注意些什么

 代码规范主要涵盖5个方面:类,方法,变量,语句(代码的顺序性与结构型【可读性与可维护性】),防御式编程&&错误处理技术      1.多使用抽象数据类型(ADT:数据以及对数据进行的操作的集合),另外对Car类型进行ADT封装时要注意其抽象的层次:     public interface CarDao{          void addCar(Car car);       ...

2018-06-07 14:00:33 767

原创 解析excel如何处理法文乱码问题

解决办法:在解析excel时将编码集ISO 8859-1替换为 ISO 8859-15.ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。此字符集支持部分于欧洲使用的语言,包括阿尔巴尼亚语、巴斯克语、布列塔尼语、加泰罗尼亚语、丹麦语、...

2018-06-04 17:03:41 3974

原创 amazon 同步订单接口

拉取订单的工作:@Overridepublic List<OrderModel> getAmazonOrders(Date startTime , Date endTime ,String platform) throws Exception {List<OrderModel> orderModels = new ArrayList<>...

2018-06-04 16:52:27 2171

转载 处理异常注意的地方

try{//正常执行的代码}catch (Exception e){//出错后执行的代码}finally{//无论正常执行还是出错,之后都会执行的代码}//跟上面try catch无关的代码正常执行的代码如果出现异常,就不会执行出现异常语句后面的所有正常代码.异常可能会被捕获掉,比如上面catch声明的是捕获Exception,那么所有Exception包括子类都会被捕获,但如Error或者是Th...

2018-06-04 16:51:58 151

转载 物理分页与逻辑分页

一 概述1.物理分页物理分页依赖的是某一物理实体,这个物理实体就是数据库,比如MySQL数据库提供了limit关键字,程序员只需要编写带有limit关键字的SQL语句,数据库返回的就是分页结果。2.逻辑分页逻辑分页依赖的是程序员编写的代码。数据库返回的不是分页结果,而是全部数据,然后再由程序员通过代码获取分页数据,常用的操作是一次性从数据库中查询出全部数据并存储到List集合中,因为List集合有...

2018-06-04 16:51:31 202

转载 Spring @Autowired,@Resource,@Required注解的用法和作用

Spring @Autowired,@Resource,@Required注解的用法和作用@Autowired的用法和作用这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get。&lt;bean id="userDao"class="..."/&gt;&lt;bean id="userService"class="..."&gt

2018-06-04 16:50:58 1001

转载 Java泛型中的标记符含义:

Java泛型中的标记符含义:  E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值类型)? -  表示不确定的java类型 S、U、V  - 2nd、3rd、4th typesObject跟这些标记符代表的java类型有啥区别呢?  Object是所有类的根类,任何类的对象都...

2018-06-04 16:50:22 257

原创 读代码大全(笔记)

理解“在一种语言上编程”和“深入一种语言去编程”的区别。        作者列举了Visual Basic 语言的早期无法将业务逻辑,用户界面,数据库分开,因为语言中没有任何内置的方法可以做到这一点。这样的后果就是,最后可能记不清楚那段代码放在哪些地方了。因此,作者采用了一种设计约定,即只允许.frm文件(窗体文件)从数据库读取数据或者将数据存入数据库。不允许数据直接通向程序的其他部分。所以业务逻...

2018-06-04 16:49:17 245

转载 随笔(架构方法论)

我们通常定义架构有几个层次,这包括业务架构、产品架构、应用架构和技术架构。1.业务架构:描述一个企业围绕一个行业做了哪些业务,例如支付行业的收单、退款、出款、充转提等能力,这与公司对外和对内定义的产品无关。2.产品架构:描述对外和对内定义的可销售的产品,例如微信的条码支付、扫码支付、公众号支付等。3.应用架构:描述提供了哪些系统和服务来实现对外和对内的产品架构,从而支持公司的业务架构,例如微信内部...

2018-06-04 16:48:32 1710 1

原创 重构!(读与做)

@读:     “任何一个傻瓜都能写出计算机可以理解的代码。惟有写出人类可以理解的代码,才是优秀的程序员!”                                                                                                                       ——  《重构改善代码的既有设计》       初读本...

2018-06-04 16:47:48 238

原创 StringUtils.isEmpty和StingUtils.isBlank

最近做了公司的一个“批量导入订单”的功能,里面用到了poi,因为我们这边是处理Excel。里面有复杂的验证规则。但是,当产品测试我的功能的时候我发现一个奇怪的问题。明明excel中没有数据,但是验证不通过,提示xxx input String is  "",于是他将excel的单元格选中,删除。再提交,通过验证。他说这个情况以前也出现过。我当时很纳闷,现在想想自己写的验证规则,明白了。原来我用了S...

2018-06-04 16:46:43 316

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除