小岑的架构学习笔记-架构设计的历史背景

2020-05-21
阅读 2 分钟
2.4k
最近在学习极客时间《从0到1学架构》,记一些笔记。 在上一篇《架构是什么?》记录了架构和一些常用名字的一些基础概念。 这一章主要是学习架构设计的历史背景。 软件开发进化的历史 软件开发语言的进化历史 机器语言 最早的软化使用的是“机器语言”,使用单纯的0和1来写代码,使用0和1的组合表示不同的指令,让计算机去执...

小岑架构学习笔记-架构到底是什么?

2020-05-20
阅读 3 分钟
2k
最近在学习极客时间《从0到1学架构》,记一些笔记。 每一个从事技术工作的同学,都有一个成为架构师的梦想,去从事设计架构方面的工作。那么架构这个词具体是什么? 在我平时的工作中,会进行团队内部分大功能的架构设计,平时也会通过各种渠道了解其他公司的架构设计。 但当我们聊架构的时候,我们具体是在聊什么? 基础...

不要做软件开发团队里打破窗户的那个人

2020-05-16
阅读 2 分钟
2.5k
从前有个程序员,叫阿星,在小公司工作了2,3年,经过了好多轮技术面试的奋战,终于成功加入了Banana公司,是一个很有名的技术大厂。阿星加入的部门是一个负责公司支付业务的中台团队。

Mybatis版本升级踩坑及背后原理分析

2020-05-16
阅读 9 分钟
4.4k
某一天的晚上,系统服务正在进行常规需求的上线,因为发布时,提示统一的pom版本需要升级,于是从 1.3.9.6 升级至 1.4.2.1。当服务开始上线后,开始陆续出现了一些更新系统交互日志方面的报警,属于系统辅助流程,报警下图所示, 具体系统数据已脱敏,内容是Mybatis相关的报警,在进行类型转换的时候,产生了强转错误。

面技术岗位实习生,这些你得了解啊!

2020-05-16
阅读 2 分钟
2.7k
1.遇到过好多学弟学妹,实习招聘一开始就投递了简历,但迟迟未看到他们进入面试环节,一问才知道,这是打算参加最后一轮笔试,希望可以准备充分一些,说不定网上还有些资料可以放出来呢?

程序员小白的个人思考

2020-05-16
阅读 2 分钟
2.3k
首先提到的是达克效应,全称为邓宁-克鲁格效应(Dunning-Kruger effect)。它是一种认知偏差现象,指的是能力欠缺的人在自己欠考虑的决定的基础上得出错误结论,但是无法正确认识到自身的不足,辨别错误行为。这些能力欠缺者们沉浸在自我营造的虚幻的优势之中,常常高估自己的能力水平,却无法客观评价他人的能力。

解读《阿里巴巴Java开发手册》(泰山版) - 更新中

2020-05-06
阅读 2 分钟
2.8k
前言 《阿里巴巴Java开发手册》一直深受Java开发爱好者和业界人士的认可,里面提出了许多宝贵的开发经验和建议,相信会对大家有很多的帮助。 但是所谓尽信书不如无书,需要对提到的规范有自己的思考和认同后,这本手册才能够对自己起到更大的帮助。 小弟不才,只是从个人观点谈谈对于这本手册阅读的理解,期望可以持续更...

Mybatis版本升级踩坑及背后原理分析

2020-03-05
阅读 9 分钟
2.2k
某一天的晚上,系统服务正在进行常规需求的上线,因为发布时,提示统一的pom版本需要升级,于是从 1.3.9.6 升级至 1.4.2.1。当服务开始上线后,开始陆续出现了一些更新系统交互日志方面的报警,属于系统辅助流程,报警下图所示, 具体系统数据已脱敏,内容是Mybatis相关的报警,在进行类型转换的时候,产生了强转错误。

[Leetcode-09] 9. Palindrome Number

2019-12-24
阅读 2 分钟
2.4k
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。链接:[链接]

[LeetCode-2-Medium] Add Two Numbers

2019-12-22
阅读 3 分钟
1.6k
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.You may assume the two numbers do not contain any leading zero, except the num...

[LeetCode-1-Easy] Two Sum

2019-12-21
阅读 3 分钟
4.9k
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same element twice.

[LeetCode-203] Remove Linked List Elements

2019-12-19
阅读 2 分钟
1.5k
Remove all elements from a linked list of integers that have value val .删除链表中等于给定值 val 的所有节点。

[Thinking in java] IO思维导图

2017-12-16
阅读 1 分钟
4.6k
总觉书翻过一遍,就很容易忘。在网上看到了用思维导图做记录的方式。记录下学习TJ4 IO部分的思维导图,对自己的知识做一个梳理。 如果图片看不清楚的话,可以来这个链接下载[链接]

Java笔记-反射机制(三)-小demo

2017-12-09
阅读 4 分钟
2.1k
在引入反射知识前,先简单介绍下Sturts框架和Servlet。在没有一些Web框架之前,当我们要写Java Web应用使用的就是Servlet。一个简单的Servletdemo就是如下所示。

Java笔记-Java反射(二)

2017-12-07
阅读 3 分钟
1.6k
上一篇文章介绍了反射的基本概念以及获取类相关信息的反射API,这一章节主要记录如何对类的成员进行操作的相关反射API。 操作类成员的类 反射API中提供了如下接口,用于对类的成员进行操作。 {代码...} 该接口主要有以下三个实现类,用于对类成员中的字段,方法和构造器进行操作。 Tips: 在Java SE 7的手册中指出,构造...

Java笔记-反射机制(一)

2017-12-04
阅读 2 分钟
3.1k
反射是一种在运行时获取以及修改应用行为的一种工具。我个人的理解就是,new是一种正向的操作,知道现有系统中会出现什么。反射就是反着来,不知道系统中可能会需要什么样的类,通过全限定类名的方式,在需要的时候将它反射出来,同时可以通过反射获取类的内部信息。在Java框架的开发中,反射技术运用比较常见。

Java随笔-Java泛型的一点学习

2017-12-02
阅读 7 分钟
2.5k
Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。泛型的引入可以解决JDK5之前的集合类框架在使用过程中较为容出现的运行时类型转换异常,因为编译器可以在编译时通...

从Facebook的React框架事件学习一下开源协议

2017-09-26
阅读 3 分钟
7k
前一阵子由于Facebook BSD+PATENTS License的原因,Apache项目禁止使用带该license的代码,引人注目的就是Facebook的React前端框架。后来在知乎上看到百度内部也要求在半年内完成内部产品的转型,如下图所示。最近又看到Facebook 的React框架又重新将Facebook BSD+PATENTS License更新为了MIT协议。以上这些变化,引起了...

【Java并发编程的艺术】第二章读书笔记之原子操作

2017-09-24
阅读 2 分钟
2.1k
原子(atomic)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为“不可被中断的一个或一系列操作”。

【Java系列】Java并发之Race Condition and Critical Section

2017-09-08
阅读 2 分钟
4.1k
在多线程场景下,当多个线程访问同一块资源,且执行结果与线程访问的先后顺序相关,即表明这里面存在着Race Condition,中文翻译即竞争条件。

【Java并发编程的艺术】第二章读书笔记之synchronized关键字

2017-09-05
阅读 3 分钟
2.1k
经过了上述3步,才完成了i++ 的这个操作,volatile保证了写回内存后,i的最新值能够被其他线程获取,但i++的这三个动作不是一个整体,即不是原子操作,是可以被拆开的。

【Java并发编程的艺术】第二章读书笔记之volatile关键字

2017-09-04
阅读 1 分钟
2.5k
这一章节的话,主要是讲一下在并发操作中常见的volatile、synchronized以及原子操作的相关知识。 目前看的部分主要是volatile这个关键字。 volatile 根据Java语言规范第3版中对volatile的定义: Java编程语言允许线程访问共享变量,为了确保共享变量能被准备和一致地更新,线程应该确保通过排他锁单独获得这个变量。 Java...

【Java并发编程的艺术】第一章读书笔记

2017-09-02
阅读 1 分钟
2.1k
单核CPU上执行多线程任务,通过给每个线程分配CPU时间片的方式来实现这个机制。时间片是CPU分配给每个线程运行的时间,时间片非常短,CPU通过不断的切换线程执行,给我们人类留下的印象就是多个线程在同时执行。

【程序员健康指南】读书笔记

2017-08-07
阅读 2 分钟
5k
近日看了一本<程序员健康指南>,觉得里面的一些建议还不错,整理一下。不仅适用于程序员,也同样适用于其他上班族,因为大家目前的工作强度都很大,都需要更好去关注自己的身体,为以后的生活打下良好的基础,不要被工作掏空了身体~

【转载】一篇文章带你读懂Mysql和InnoDB

2017-08-07
阅读 12 分钟
6.4k
作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了解数据库的、不了解数据库的有...

【个人思考系列】谈谈提问的基本姿势

2017-07-26
阅读 2 分钟
2.8k
最近混迹在SegmentFault问答专区解答一些Java相关的技术问题,发现很多的提问者都不知道如何去正确提一个问题,然后结合平时工作中的一些感受,想就提问这件小事,谈谈自己的看法。

【Java系列】从JVM角度深度解析Java核心类String的不可变特性

2017-07-23
阅读 5 分钟
3.4k
凯伦说,公众号ID: KailunTalk,努力写出最优质的技术文章,欢迎关注探讨。 1. 前言 最近看到几个有趣的关于Java核心类String的问题。 String类是如何实现其不可变的特性的,设计成不可变的好处在哪里。 为什么不推荐使用+号的方式去形成新的字符串,推荐使用StringBuilder或者StringBuffer呢。 翻阅了网上的一些博客和s...

【Mybatis系列】从源码角度理解Mybatis字段映射-AS&ResultMap

2017-07-18
阅读 6 分钟
6.3k
当我们的数据库列名和对象字段之间不是驼峰式命名的关系,我们可以在Select时使用AS,使得列名和对象名匹配上。映射文件中是本次会执行的sql,我们会查出id,city_id,city_name,city_en_name。 按照开启的驼峰式命名开关,我们会对应到对象的id,cityId,cityName,cityEnName字段。

【Mybatis系列】从源码角度理解Mybatis字段映射-驼峰式命名

2017-07-18
阅读 5 分钟
10k
在上篇博客-[[JDBC] 处理ResultSet,构建Java对象]([链接]中提到,我们需要分析Mybatis在转换Result到需要的Java业务对象时做的三件事,如下:

【JDBC系列】JDBC原生处理ResultSet

2017-07-18
阅读 3 分钟
4.2k
最近在学习Mybatis,Mybatis在处理JDBC返回值与Java业务对象之间的转换非常方便,定义XML,标明互相之间的转换关系,即可轻松完成转换。Mybatis是JDBC的封装,我们先来看看如果用原生的JDBC,如何完成ResultSet和Java业务对象之间的转换,会遇到哪些不便。