
java学习笔记
文章平均质量分 88
扫地僧-大白
不懂时,别乱说。懂得时,别多说。心乱时,慢慢说。没话时,就别说。
展开
-
Spring Cloud第二季--Spring Cloud Bus
在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都连接上来。由于该主题中产生的消息会被所有实例监听和消费,所以称它为消息总线。在总线上的各个实例,都可以方便地广播一些需要让其他连接在该主题上的实例都知道的消息。Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能。Spring Clud Bus目前支持RabbitMQ和Kafka。原创 2023-05-12 16:46:39 · 699 阅读 · 0 评论 -
Spring Cloud第二季--消息驱动Spring Cloud Stream
Spring Cloud Stream 是一个构建消息驱动微服务的框架。比如有这样的一个场景,应用A 使用了RabbitMQ作为消息队列,而应用B使用了Kafka,各消息中间件构建的初衷不同,架构不同,肯定不能直接通信,更不用说发送消息、接收消息啦,但我们业务上又必须让二者通信,怎么办呢?这时候,就是Spring Cloud Stream大显身手的时候啦!原创 2023-05-10 14:05:11 · 344 阅读 · 0 评论 -
Spring Cloud第二季--服务网关Gateway
Zuul 1.x,是一个基于阻塞 I/ O 的 API Gateway,不支持任何长连接,Zuul 用 Java 实现,而 JVM 本身会有第一次加载较慢的情况,使得Zuul 的性能相对较差。注: 在“pre”类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等,在“post”类型的过滤器中可以做响应内容、响应头的修改,日志的输出,流量监控等有着非常重要的作用。路由是构建网关的基本模块,由ID,目标URI,一系列的断言和过滤器组成,如果断言为true则匹配该路由。原创 2023-05-09 15:15:56 · 1868 阅读 · 4 评论 -
Spring Cloud第二季--OpenFeign和Feign
OpenFeign不再使用Ribbon+RestTemplete的方式远程调用微服务接口,而是遵循程序员常用的方式,从Controller层调用Service层的接口,Service的接口替你完成调用的工作(2019年Feign停更)。两个字,优雅。原创 2023-04-10 13:19:31 · 983 阅读 · 1 评论 -
Java填坑工程--Redis详解
Redis Sentinel、Redis Cluster、主从复制、redis命令原创 2022-08-19 14:27:14 · 462 阅读 · 0 评论 -
java对接第三方快递---顺丰SDK
文章目录开发之前接入SDK2.1、工具类2.2、测试中2.3 、JavaBean背景介绍:APP内商城,需要对接第三方快递,公司本身和顺丰有月结账户合作,故选用顺丰。开发之前开始要到丰桥官网注册账号,丰桥会提供客户编码和校验码到你的邮箱;官方有接入教程,没啥可纠结的,一路申请到底。因为我这边散户多,用户量小,没有对接面单打印SDK,和我一样需求的,可申请免面单,完成审核即可;可在“我的A...原创 2020-01-10 15:49:18 · 8450 阅读 · 9 评论 -
Java填坑工程--JVM那些事儿之性能监控与故障处理
文章目录一、JDK的命令行工具Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。-----《深入理解Java虚拟机》当程序出现OOM异常的时候,我们要知道如何处理故障,为了不出现故障,要对虚拟机进行性能监控。一、JDK的命令行工具名称功能描述jps显示指定系统内所有的HotSpot虚拟机进程jst...原创 2019-12-16 16:56:27 · 209 阅读 · 0 评论 -
Java填坑工程--JVM那些事儿之垃圾收集器
文章目录一、垃圾收集器1、对象是否存活?2、垃圾收集算法标记-清除(Mark-Sweep)复制(Copying)标记-整理3、垃圾收集器Serial收集器ParNew收集器Parallel Scavenge收集器Serial Old收集器Parallel Old收集器CMS收集器G1收集器二、 内存分配与回收策略Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人...原创 2019-12-15 17:50:57 · 233 阅读 · 0 评论 -
Java填坑工程--JVM那些事儿之Java内存区域
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人想出来。-----《深入理解Java虚拟机》最近在有针对性的复习JVM知识,本文仅记录学习成果...原创 2019-12-15 11:02:19 · 214 阅读 · 0 评论 -
Java填坑工程--Java常用日志框架
对于程序员来说,出现bug的第一反应,应该是查看日志记录。日志对于bug修复、问题追踪、统计分析等都有很大的帮助。目前主流的日主框架包括log4j、log4j 2、Commons Logging、Slf4j、Logback。关于这些日志的类别、历史、关系以及实现机制比较,可以参考Java常用日志框架介绍了解(发展历史很有意思的是 )。通常情况下,日志是由一个抽象层+实现层的组合来搭建的。 整体...原创 2019-12-10 15:40:48 · 272 阅读 · 0 评论 -
BUG集锦--国家区号按照首字母排序分组
文章目录写在前头解决思路有点意思写在前头 记录一个有意思的事情。 APP端要实现下图效果,选择国家地区的时候,要把数据进行排序分组,返回给客户端。解决思路 为了响应速度,把数据排序做在了后台,在数据库里面就存首字母,用来作为排序分组的分组条件;虽然前期维护数据的工作量较大,不过很多处理逻辑就都省下了; 第一步,将需要数据按照首字母升序,查出数据列表; 第二步,定义一个Map,ke...原创 2019-11-07 16:46:16 · 1924 阅读 · 3 评论 -
Stripe国际支付简介及API对接
关于Stripe最近公司正在做一个海外APP,涉及到海外支付,经过几番调研,选择了Stripe支付。货币兑换:Stripe支持处理135+个货币兑换成客户当地的货币。Stripe官网Stripe API注册的时候,因为不支持中国(这点很伤心啊),所以需要选择要用支持的国家注册商户,而你恰恰有这个国家的公司信息、银行卡信息之类的。绑定银行卡信息之类的,最后一定要发送手机号码验证,要不然在调...原创 2019-08-23 12:51:03 · 37742 阅读 · 34 评论 -
消息队列--Spring boot 整合RabbitMQ
在了解了RabbitMQ的基础后,我们来编写代码,使用Spring Boot 整合RabbitMQ。最主要的依赖:生产者示例消费者示例原创 2019-05-21 17:05:57 · 302 阅读 · 0 评论 -
2018-2019博客总结
话到咽喉,不知怎么倾诉,距离上次总结,才隔了11篇博客的距离,却隔了1年的时光。写个提纲,先回顾下自己的程序员生涯,写写自己对于程序员的技术理解,立个flag,2019的努力;最后打个广告!一、 废话叨叨     &a原创 2019-01-29 18:01:49 · 818 阅读 · 0 评论 -
JAVA填坑工程--模板引擎:FreeMarker
知之为知之,深知深知。文章目录一、什么是FreeMarker二、FreeMarker基础知识三、spring MVC 结合Freemarker一、什么是FreeMarker先来看看官网是怎么说的:FreeMarker 是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类...原创 2019-01-09 17:17:22 · 471 阅读 · 0 评论 -
JAVA填坑工程--JSON
知之为知之,深知深知!一、认识JSONJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式;JSON就是javascript中的对象和数组,通过这两种结构可以表示各种复杂的结构。1、对象:在js中,对象表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对,其中key为对象的属性,value为对应的属性值...原创 2019-01-03 17:46:31 · 262 阅读 · 0 评论 -
Neo4j系列(一)----初始Neo4j
前言关于Neo4j系列参考一、Neo4j概述1.1 名词解释1.2 Neo4j 模型规则二、Neo4j安装2.1windows版本安装步骤:前言好多技术都是因为项目使用,才与之结缘;同样的Neo4j也是如此; 网上大多都是基础入门教程,对于在实际项目中遇到的坑没有一个很好的解释;所以才有了此系列的诞生; 本系列博文,除了基础的neo4j教程外,...原创 2018-08-25 14:06:50 · 5063 阅读 · 7 评论 -
Neo4j系列(二)—-Neo4j Cypher
在上篇Neo4j系列(一)—初始Neo4j,我们简单认识了neo4j,了解其模型规则和安装步骤,这一节来了解下Neo4j的查询语言Cypher。像关系型数据库Mysql、Oracle等有查询语言SQL,Neo4j的查询语言便是CQL。Cypher是对图形的声明查询语言,接下来从Neo4j基本命令、函数和索引三方面来认识一下Cypher本博目录: 一、 CQL 基本命令二、 CQL...原创 2018-08-30 17:55:26 · 1716 阅读 · 0 评论 -
Java笔记oracle--SQL基础篇(一)
一、Oracle数据类型 ①数值类型:number(p,s) ②字符类型 ③日期类型 ④空值操作原创 2015-11-17 13:29:14 · 415 阅读 · 0 评论 -
Java学习笔记struts2篇--通配符
引自:http://jingbo2759.blog.163.com/blog/static/9837531520099109488860/struts2的配置文件是 struts.xml,在这个配置文件里面可以使用通配符,其中的好处就是,大大减少了配置文件的内容..当然,相应付出的代价是可读性..使用通配符的原则是 约定高于配置.在项目中,我们有很多的命名规则是约定的…我们使用通配符那就必须有一个统转载 2016-02-02 11:03:03 · 558 阅读 · 0 评论 -
Java笔记--Session:避免表单的重复提交
关于表单的重复提交原创 2016-01-27 19:09:57 · 1698 阅读 · 0 评论 -
Java笔记--Servlet生命周期
Servlet的生命周期是由Servlet的容器来控制的,它可以分为3个阶段;初始化,运行,销毁。 servlet容器将servlet通过构造器来实例化初始化:1:Servlet容器加载servlet类,把servlet类的.class文件中的数据读到内存中。2:然后Servlet容器创建一个ServletConfig对象。ServletConfig对象包含了Servlet的初始化原创 2016-01-27 16:12:40 · 364 阅读 · 0 评论 -
Java和C的区别
C语言是面向过程的语言,执行效率高。Java是面向对象的语言,执行效率比C语言低。C语言比Java多了指针,Java的多线程机制使程序可以并行运行。Java程序多用于网络。C语言的安全性不如Java,C语言没有Java的垃圾回收机制,申请的空间要手动释放。Java的通用性好,可以跨平台直接移植。Java采用Unicode字符集,C语言通常采用的是ASCII字符集,A—65,a—原创 2016-02-17 10:54:26 · 2970 阅读 · 2 评论 -
http://blog.youkuaiyun.com/limingchuan123456789/article/details/16849897
这是工作中遇到的问题,解决了为什么 Eclipse 里的 Classpath Variables M2_REPO 无法修改(non modifiable),并且指向 User Home 里的一个位置,如下图: Eclipse 里的 Maven 会去读 User Home 里的 Maven 配置文件 settings.xml,预设是没有这个文档的,所以会使转载 2016-02-23 13:02:49 · 428 阅读 · 0 评论 -
Java笔记--权限管理(RBAC)
(一)RBAC( Role-Based Access Control):基于角色的访问控制 RBAC支持三个著名的安全原则:最小权限原则,责任分离原则和数据抽象原则。 RBAC的基本思想是:授权给用户的访问权限,通常由用户在一个组织中担当的角色来确定。RBAC中许可被授权给角色,角色被授权给用户,用户不直接与许可关联。RBAC对访问权限的授权由管理员统一管理,RBAC根据用户在组织内所原创 2016-02-26 10:03:16 · 7655 阅读 · 0 评论 -
Java学习笔记---数组和链表的区别
数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如果应用需要快速访问数据,很少或不插入和删除元素,就应该用数组。链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素转载 2016-02-17 10:19:03 · 350 阅读 · 0 评论 -
Java笔记--WEB中的四个域对象
四个域对象:page、 request、session、application。之所以他们是域对象,原因就是他们都内置了map集合,都有setAttribute getAttribute方法。他们都有自己固定的生命周期和作用域。、四个域对象的声明周期page:jsp页面被执行,生命周期开始,jsp页面执行完毕,声明周期结束。request:用户发送一个请求,开始,服务器返回响应,原创 2016-01-29 10:25:09 · 1893 阅读 · 1 评论 -
Java笔记--JDBC篇(一)
JDBC运行原理 1.加载驱动。 2.创建链接。 3.创建语句对象。 4.执行SQL语句。 5.释放资源。原创 2015-11-26 22:46:53 · 419 阅读 · 0 评论 -
我的博客总结
一直想着总结一下这段时间的博文,一不留神,都到2018年了,总结如下:一、为什么要写?本人自诩还不是天赋异禀,在编程的道路上,磕磕绊绊的跑了两年多。回想起来: 起初上山学艺,站在Eclipse、IDEA的练功台上,苦练数据结构和算法,练就java纯阳内功,顿悟学海无涯;自学java前端,方知众生百态;深得数据库派Mysql、Oracle和Redis等各位掌门人真传;才明白了海纳百川的境界;原创 2018-01-03 16:44:27 · 2470 阅读 · 0 评论 -
Java笔记--面试题
这是我自己面试的时候做的一些面试题,希望对你有用。(1)String str1 = "java";String str2="java";System.out.println(str1 == str2);String str3 = new String("java");System.out.println(str1 == str3);String str4 = new Strin原创 2016-02-19 14:32:43 · 458 阅读 · 0 评论 -
Java学习笔记--split篇
Java使用split分割字符串时需要注意如下问题1. 分隔符使用特殊字符String str = "1|2|3|4";String[] arr = str.split("\\|");System.out.println(Arrays.toString(arr));jdk doc中说明public String[] split(String regex)Splits t转载 2016-02-04 14:40:19 · 300 阅读 · 0 评论 -
使用IDEA整合Spring+Spring MVC+Mybatis+Maven+Jetty框架的搭建
一 使用技术简介二 项目整合2-1 新建Maven工程2-2 整合SSM三 项目测试和部署3-1 测试3-2 项目部署四 总结一、 使用技术简介Spring: Spring是一个开源框架,主要目的是用来替代更加重量级的企业级Java技术,是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。Spring MVC: Sp原创 2018-02-06 15:31:13 · 862 阅读 · 0 评论 -
关于后台存储emjon表情的前前后后
换了新的工作环境,刚到公司接触项目后,就要解决一个bug,ios端设置姓名,要求可以存emjon表情。什么是emoji表情?emoji (词语) 编辑 绘文字(日语:絵文字/えもじ emoji)是日本在无线通信中所使用的视觉情感符号,绘指图画,文字指的则是字符,可用来代表多种表情,如笑脸表示笑、蛋糕表示食物等。 在NTTDoCoMo的i-mode系统电话系统中,绘...原创 2018-03-09 18:55:12 · 1599 阅读 · 0 评论 -
Java笔记oracle--SQL基础篇(二)
Oracle笔记-SQL基础篇(二)一、DDL操作–创建表,修改表,删除表①创建表employees,表中default 的作用是给列指定默认值 create table employees( id number(10), name varchar2(20) , gender char(2) default 'm', job varchar2(30),原创 2015-11-19 20:37:06 · 456 阅读 · 0 评论