自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT小小鸟

千里之行,始于足下----IT小小鸟的探索之旅

  • 博客(76)
  • 资源 (3)
  • 收藏
  • 关注

原创 勿忘初心——代理模式之静态代理与动态代理

什么是代理模式?简单点说,就是我们要访问A类的方法m(),但是不直接去调用A.m(),而是通过一个中介(代理类)去调用。这样做的目的在于,我们可以在不改变目标方法的前提下,通过在代理类调用目标方法的前后增加额外的操作,以增强目标方法,来满足我们的需求。代理模式的作用静态代理静态代理的代理类和目标类(被代理类)需要实现同一个接口或继承同一个方法,代理类中会维护一个目标类对象,我们通过调用代理类的对应方法以达到调用目标类的目的,我们也可以在代理类中相应的方法前后增加我们自己的逻辑来增强目标类。静态

2020-08-30 21:02:33 154

原创 勿忘初心——Java中的注解

注解实质:一种标记作用:在程序运行时通过反射得到注解标注的类、方法、属性,然后对其做相应的处理。我们都知道在使用有些ORM框架的时候,只用定义一个接口就能做到对数据库的增删改查,其实质就是利用注解来生成对应的sql语句,下面我们可以自定义注解实现这一过程:定义相关注解// 实现表名和实体类的映射@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)public @interface Table { String n

2020-08-30 17:59:46 115

原创 勿忘初心——JDBC基础回顾

使用JDBC操作数据库的基本步骤加载驱动Class.forName("com.mysql.cj.jdbc.Driver");建立连接Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/vip_test?serverTimezone=UTC&characterEncoding=utf8&useCursorFetch=true", "root", "123");创建State

2020-08-29 16:19:49 172

原创 勿忘初心——Tomcat基础回顾

安装配置及启动这里简单说一下Tomcat的下载及安装,都很简单。下载地址:Tomcat官方下载地址windows平台下可以下载installer安装包(直接点击下一步就可安装完成),也可以下载zip包,直接解压即可使用。Linux平台可以直接wget下载解压即可使用。配置环境变量(当然也可以不配)在环境变量中加入:CATALINA_HOME=tomcat根目录启动Linux 平台$CATALINA_HOME/bin/startup.sh$CATALINA_HOME/bin/cata

2020-08-29 11:30:30 97

原创 不忘初心——Java基础复习

好的代码味道一个好的代码具有以下几个特点,这几个特点呈现递进关系:没有重复的代码段高内聚低耦合,减少类之间的耦合度扩展性好,当增加新功能时尽可能少的改变原有代码上面几点看起来很简单,但是大部分人都做不到,尤其是最后一点。...

2020-08-29 00:12:52 157

原创 spring注解开发——@Profile根据环境动态注册组件

根据环境动态激活组件☞@Profile我们一般会有这样的需求,开发环境用的数据源与生产环境不一样,也就是dev环境我们想要使用dev的DataSource,生产的我们使用生产的DataSource,此时我们就要用到@Profile注解。我们看下面的案例:配置文件有三个bean,我们想在不同环境只激活其中的一个@Configurationpublic class ProfileAnnotat...

2019-08-29 15:38:35 264

原创 spring注解开发——@Value给属性赋值

使用@Value注解给属性赋值@Value给属性赋值有三种方式:基本类型SpEL表达式:#{表达式},也就是Spring Expression Language读取配置文件值:${变量名}根据案例,我们看看这三种方式的具体用法:基本类型public class Honey { @Value("Li fan") private String name;}...

2019-08-28 15:01:49 2766 3

原创 spring注解开发——说说bean的生命周期

说说Bean的生命周期bean的生命周期大家可能都知道,我这里主要说说在bean生命周期的各个阶段我们可以做些什么@Bean单例模式下这里我们定义一个ColorRed类作为简单的bean,在类中增加两个方法,init()作为初始化bean时调用,destroy()作为销毁bean时调用public class ColorRed { public ColorRed() { ...

2019-08-26 19:56:45 121

原创 spring注解开发——向IOC容器注册组件的几种方式

向IOC容器注册组件的几种方式第一种大家都常见,配置包扫描+类上注解(@Component, @Controller, @Service, @Repository, @Resource)也就是这样:// 配置类@Configuration@ComponentScan("com.example.demo.bean")public class AnnotationConfigTestI...

2019-08-25 12:15:04 441

原创 spring注解开发——按条件注册bean之@Conditional

按条件注册bean之@Conditional需求:我们希望某些bean在特定环境下才注册到IOC容器,比如,根据当前操作系统的不同,选择性的注册一些bean到IOC容器中。初识@Conditional注解,我们看看其注释:Indicates that a component is only eligible for registration when all {@linkplain #va...

2019-08-24 14:08:45 687

原创 spring注解开发——bean的作用域和懒加载

bean作用域与懒加载bean作用域有:singleton:默认单例,也就是每次去IOC容器拿同一个名称的bean,返回的都是同一份prototype:多例,每次去拿,IOC容器都为我们新建一个实例request:每个请求创建一个bean,在web环境下使用(几乎不用)session:每个session创建一个bean,在web环境下使用(几乎不用)可能大家都知道默认的bean为单...

2019-08-24 10:57:05 288

原创 Spring注解开发——说说@Autowired

关于Autowired那点事大家都知道,注解出来之前,向一个bean中注入另一个bean我们需要在配置文件里配置,像这样:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w...

2019-08-23 19:51:03 272

原创 Spring注解开发——从配置到注解的蜕变

Spring注入bean的三种方式

2019-08-22 22:51:16 152

原创 每天读点java源码——java线程池

java线程池相关类图

2019-07-25 11:19:32 156

原创 Mysql之死锁解决之路

最近工作中遇到了并发插入导致mysql死锁,遂查找了相关博文对mysql事务以及锁相关知识进行了学习,下面是看到的比较好的几篇文章事务与隔离级别常见锁类型常见SQL语句加锁分析死锁问题的分析和解决...

2019-07-23 16:00:57 179

原创 java函数式编程:四大Function

java.util.function包下的四大Function1. Consumer 消费者public interface Consumer<T> { void accept(T t);}从名字可以看出,消费者是来消费的,它接受一个数据,没有任何返回值。简单使用:比如我们只想打印列表中的每个元素,这里的forEach(Consumer)里面接受的参数就是一个C...

2019-07-19 11:13:30 6388

原创 mysql关于left join的疑问

需求:有A、B两个表,在A表中筛选出排除B表中已经含有的A表的数据后剩下的数据A表如图:B表如图:这里首先在B表找到alarm_rule_id=10000000所对应的两条数据,他对应的template_id为:176267674798522368、176267674798522369(这个template_id在A表已经被删了,但是不影响),然后在A表排除这两个template_id对...

2019-07-18 16:58:49 271

原创 每天读点java源码——HashSet

读注释

2019-07-16 15:46:45 128

原创 技术这点事——Git忽略某个文件

方法一:修改项目根目录下的.gitignore文件,排除的是公共的需要排除的文件,会被提交到版本库.settings/*target/**/.settings/**/target/*.idea/**/.project*/.classpath.project.classpath# Intellij*.iml*/*.iml看最后两个配置,这里我们排除了当前(.gitign...

2019-07-11 10:18:02 2480

原创 每天读点java源码——HashMap

读注释

2019-07-10 19:02:21 121

原创 每天读点java源码——ArrayList

读注释

2019-07-08 18:24:45 135

原创 每天读点java源码——LinkedList

简介首先看源码里的第一句注释:Doubly-linked list implementation of the {@code List} and {@code Deque} interfaces. Implements all optional list operations, and permits all elements (including {@code null})意思就是L...

2019-07-05 17:28:38 163

原创 代码整洁之道——注释

注释 不能美化槽糕的代码!

2018-08-14 14:43:23 286

原创 代码整洁之道——函数

短小 函数的第一条规则是要短小。第二条规则还是要短小。20行封顶。每个函数只做一件事。使用描述性的名称 好的名称可以较好的描述函数所做的事。别害怕长名称。函数参数 最理想的函数参数是一,其次是而,应尽量避免三。当函数需要三个以上的参数时,就应该考虑应该封装为类。使用异常替代返回错误码 try/catch代码块丑陋不堪,搞乱了代码结构,应该把try和catch代码块的主体部分抽离出...

2018-08-14 09:54:36 218

原创 代码整洁之道——命名

名副其实 变量、函数或者类的名称应该告诉你,它为什么存在,它做什么事,应该怎么用。如果名称需要注释类补充,那就不算是名副其实。避免误导 避免留下隐藏代码本意的错误命名。做有意义的区分 废话都是冗余。使用读得出来的名称使用可搜索的名称 禁止使用单字母名称和数字常量。添加有意义的语境...

2018-08-13 17:15:53 164

原创 什么是整洁代码

我喜欢优雅和高效的代码。代码逻辑应当直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省的别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。 —–Bjarne Stroustrup...

2018-08-13 16:29:48 725

转载 阿里首席架构师分享的Java工程师职业规划

一初级程序员:做一些静态的界面;程序员:做一些增删改查的小模块;中级程序员:做逻辑较复杂的模块;高级程序员:做核心模块;项目经理:系统的整体架构;部门经理:多项目的管理;总裁:多部门以及企业的发展规划。二如果刚毕业,就多花几年积累经验,不可能靠一门绝技吃遍天下,不要指望java 赚钱多还是c++ or .NET 赚钱多。太早。 积累经验为主。积累设计,架构,测试,交流,管理,情商等多方面的经验。...

2018-08-08 18:36:29 241

原创 慎用重载 之 自动装箱带来的麻烦

考虑如下程序:public class Test { public static void main(String[] args) { Set&lt;Integer&gt; set = new TreeSet&lt;Integer&gt;(); List&lt;Integer&gt; list = new ArrayList&lt;Integer&gt;...

2018-08-08 17:57:08 276

转载 为什么一定要找一个程序员当爸爸

原文看这里:为什么一定要找一个程序员当爸爸~

2018-08-08 09:39:44 174

转载 程序员究竟能干多少年?

程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《程序员技术练级攻略》这篇文章很多人回复到这种玩法会玩死人的一样。我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭。因为,大多数程序员都认为,编程这个事只能干到30岁,最多35岁吧。每每我听到这样的言论,都让我感到相当的无语,大家都希望能...

2018-08-08 09:21:29 2654

转载 程序员自学完一个新框架后

程序员自学完一个新框架后&nbsp;当你爱上一个程序员……&nbsp;程序员的类型……&nbsp;程序员家的孩子&nbsp;调试使我开心&nbsp;失败的程序员 VS 成功的程序员&nbsp;Java &amp; C 语言程序员&nbsp;&nbsp;修正错误所用的时间VS错误的愚蠢程度&nbsp;&nbsp;...

2018-08-07 20:57:36 407

原创 从学生到职场的转变——初入职场

七月份入职,到现在将近一个月了。 初入职场,却没有感受到很浓厚的职场氛围,可能这与IT行业有关,完全不像电视剧和小说里描述的那样:职场险恶,暗流涌动,每天各种勾心斗角,鸡毛蒜皮。。。相反,大家每天在一起讨论技术,研究技术,虽然偶尔也会有所争执,但并无大碍,毕竟争执来源于对技术的精益求精。很庆幸我在的是互联网行业,自从入坑,就对这个行业充满了憧憬,希望未来也能成为一个技术大牛。我相信这个愿望...

2018-08-07 20:27:24 2926

原创 时隔三年,再次回归

看了一下上次发博客的时间,2015年,转眼三年过去,都似乎忘记了博客这回事......最近学习一些技术,再次看到CSDN的强大,打算回来记录一些学习的心路历程~  ...

2018-08-07 16:55:29 288

原创 myeclipse中详细配置oracle数据库,mySql数据库(下)

在myEclipse中怎么配置mySql数据库,以下是详细的步骤第一步:第一步:在myEclipse打开Myeclipse Database Explore视图第二步:在左侧DB Browser下的空白处右键—>new....第三步:打开如下界面后,开始配置参数这里要注意,每一个选项都有正确填写1.Driver template:选择MySQ

2015-08-09 21:15:12 648

原创 myeclipse中详细配置oracle数据库,mySql数据库(上)

如何在myEclipse中配置oracle数据库第一步:在myEclipse打开Myeclipse Database Explore视图第二步:在左侧DB Browser下的空白处右键—>new......第三步:打开如下界面后,开始配置参数这里要注意,每一个选项都有正确填写1.Driver template:选择Oracle(Thin driver)

2015-08-09 10:27:40 3432

转载 千里之行,始于足下之:初识Hibernate

一、综述Hibernate(对象关系映射框架)是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取

2015-04-08 11:40:10 539

centos下使用Nginx+uWsgi部署Python Flask项目的详细配置

在centos系统下,使用Nginx反向代理和uWsgi服务器部署Python Flask项目,这里记录了我配置的整个过程,亲测可用

2017-05-04

myEclipse中详细配置mySql数据库的步骤

如何在myEclipse中配置Oracle数据库,这是一份图文并茂的文档,也是我个人的实践经验,分享给大家。

2015-08-09

myEclipse中详细配置Oracle数据库

如何在myEclipse中配置Oracle数据库,这是一份图文并茂的文档,也是我个人的实践经验,分享给大家。

2015-08-09

空空如也

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

TA关注的人

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