- 博客(145)
- 资源 (4)
- 收藏
- 关注
转载 wait 和 notify 这个为什么要在 synchronized 代码块中
而 Synchronized 同步关键字就可以实现这样一个互斥条件,也就是在通过共享 变量来实现多个线程通信的场景里面,参与通信的线程必须要竞争到这个共享变 量的锁资源,才有资格对共享变量做修改,修改完成后就释放锁,那么其他的线 程就可以再次来竞争同一个共享变量的锁来获取修改后的数据,从而完成线程之 前的通信。在多线程里面,要实现多个线程之间的通信,除了管道流以外,只能通过共享变 量的方法来实现,也就是线程 t1 修改共享变量 s,线程 t2 获取修改后的共享变 量 s,从而完成数据通信。
2023-02-01 10:06:02 406
转载 redis和MySQL如何保证数据的一致性
同一份数据同时保存在redis和MySQL,那么数据发生变化的时候就需要同时更新这两个存储,但是更新会有前后且不具有原子性,就会出现数据一致性问题。先删除缓存,再更新数据库:也会存在极端情况,删除redis和更新数据库之间有线程访问,也会存在数据不一致的问题。redis是用来实现应用与数据库之间读操作的缓存层,目的是减少数据库的IO,还可以提升数据的IO性能。注:方法一和二都保证了数据的最终一致性,但是不保证短时间内数据一致。先更新数据库,再更新缓存:如果缓存更新失败,那么数据就会不一致。
2023-02-01 09:23:22 1147
转载 @Resource 和 @Autowired 的区别
很简单的一个例子,有两个苹果,一个叫哈哈,一个叫呵呵,你指着两个苹果,意思是去拿个苹果,让@Resource去拿,如果不说明,他懵了,但是你说明拿叫哈哈的那个,他就知道了,给你拿来了,让@Autowired去拿,如果不说明,他也懵了,但是他又是个聋子,听不到你说的,结果就拿不到,但是如果写了个字条(@Qualifier)写明拿呵呵,他也就知道了。注:在代码中发现构造方法中注入了很多依赖,显得很臃肿,对于这个问题,说明类中有太多的责任,违反了类的单一性职责原则,这时候需要考虑使用单一职责原则进行代码重构。
2022-10-08 19:20:43 118
转载 再有人问你Java内存模型是什么,就把这篇文章发给他
原文链接:https://blog.csdn.net/hollis_chuang/article/details/80880118 前几天,发了一篇文章,介绍了一下JVM内存结构、Java内存模型以及Java对象模型之间的区别。有很多小伙伴反馈希望可以深入的讲解下每个知识点。Java内存模型,是这三个知识点当中最晦涩难懂...
2018-07-04 13:54:47 503 1
转载 ArrayList和LinkedList的区别
原文链接:https://www.cnblogs.com/shanheyongmu/p/6439202.htmlList概括 先来回顾一下List在Collection中的的框架图: 从图中我们可以看出: &nb
2018-06-28 14:13:39 312
转载 tomcat 日志log4j,slf4j,logback冲突
问题描述: 启动tomcat,发现tomcat无法启动,catalina.out有如下错误日志:INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log Closing Sp...
2018-06-20 09:17:26 1815
转载 一周一源码之HashMap源码解析
原文链接:https://blog.csdn.net/u011291072/article/details/80726185 简介HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。其继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口...
2018-06-19 12:54:01 263
转载 在Intellij IDEA中使用Debug
原文链接:https://www.cnblogs.com/chiangchou/archive/2017/09/05/idea-debug.html目录一、Debug开篇二、基本用法&快捷键三、变量查看四、计算表达式五、智能步入六、断点条件设置七、多线程调试八、回退断点九、中断Debug十、附:JRebel激活  Debug用来追踪代码的运行流程,通常在程序运行过程中出现异...
2018-06-12 13:16:01 1338
原创 mybatis中大于等于小于等于的写法
第一种写法(1):原符号 < <= > >= & ' "替换符号 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;例如:sql如下:create...
2018-05-25 10:40:23 120161 1
转载 FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
fastJson对于json格式字符串的解析主要用到了一下三个类:JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。JSONObject:fastJson提供的json对象。JSONArray:fastJson提供json数组对象。我们可以把JSONObject当成一个Map<String,Object>来看,只是JSONOb...
2018-05-24 14:20:39 749
转载 Ubuntu16.04安装Redis
前言Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速。用Redis可以很轻松解决高并发的数据访问问题;作为实时监控信号处理也非常不错。环境Ubuntu 16.04安装Redis服务器端~ sudo apt-get install redis-server安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序...
2018-05-17 12:18:02 258
原创 mysqldump命令
--add-drop-table:在每个创建数据库表语句前添加删除数据库表的语句;--add-locks:备份数据库表时锁定数据库表;--all-databases:备份MySQL服务器上的所有数据库;--comments:添加注释信息;--compact:压缩模式,产生更少的输出;--complete-insert:输出完成的插入语句;--databases:指定要备份的数据库;-...
2018-05-07 16:01:26 2413
原创 ubuntu下crontab编辑方法的设定
在ubuntu下,首次编辑crontab计划任务的时候,会提示让选择编辑器。 可以重置编辑器,方法如下: [root@danny2Tomcat2~]# select-editor Select an editor. To change later, run ‘select-editor’. 1. /bin/ed 2. /bin/nano <—- easiest 3. /usr/b...
2018-05-07 15:50:40 3206
原创 分布式协调服务-Zookeeper
一:初步认识zookeeperzookeeper是一个开源的分布式协调服务,是由雅虎创建的,基于google chubby。1,zookeeper是什么: 分布式数据一致性解决方案2,zookeeper能做什么: 数据的发布/订阅(配置中心:disconf) 、 负载均衡(dubbo利用了zookeeper机制实现负载均衡) 、命名服务、 master选举(kafka、hado...
2018-04-18 13:18:21 540
转载 RedisTemplate 用法
如何使用RedisTemplate访问Redis数据结构Redis 数据结构简介Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。下面来对这5种数据结构类型作简单的介绍:结构类型...
2018-04-14 16:49:24 2881
转载 JAVA中使用HTTPclient访问url取得数据
使用GET方法获取数据:/** * 根据URL试用get方法取得返回的数据 * @param url * URL地址,参数直接挂在URL后面即可 * @return */ public static String getGetDateByUrl(String url){ String data = null; //构造HttpCl...
2018-04-12 17:35:29 5929
转载 Vue.js完全自学手册(图文教程)
Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使...
2018-04-12 09:35:45 4545
原创 大白话浅谈分布式问题
分布式环境的特点 分布性和并发性: 在程序运行过程中,并发性操作是很常见的。比如一个分布式系统中的多个节点,同时访问同一个资源。 无序性: 进程之间的消息通信,会出现消息不一致的问题。分布式环境下面临的问题 1,网络通信: 所谓的分布式架构是基于网络通信来进行消息交互的,但是网络本身就是不可靠的(例如光纤被挖断了,网线被老鼠给咬断了,火灾等等。。不可抗力因素存在),这些会导致你的业...
2018-04-10 10:46:00 797
原创 SpringBoot启动报错If you want an embedded database please put a supported one on the classpath. If....
今天创建了一个SpringBoot项目,然后启动的时候却一直报错,折腾挺久,决定给记录下来 解决方案: 要在启动类的@EnableAutoConfiguration或@SpringBootApplication中添加exclude = DataSourceAutoConfiguration.class,排除这个类的autoconfig,然后再次启动,就可以正常运行了@Sprin...
2018-04-09 13:46:58 20957
转载 github常见操作和常见错误!错误提示:fatal: remote origin already exists.
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote origin already exists.解决办法如下:1、先输入$ git remote rm origin2、再输入$ git remote add origin git@git...
2018-04-08 13:17:40 438
转载 JAVA MAIL 发送邮件(SSL加密方式,TSL加密方式)
一、一般配置发送邮件需要用到 mail包 maven 依赖如下:1 <!-- https://mvnrepository.com/artifact/javax.mail/mail -->2 <dependency>3 <groupId>javax.mail</groupId>4 ...
2018-03-28 17:07:26 2265
转载 公司内部邮箱服务器发送邮件 java版
背景:由于需要给合作方以压缩包的形式每天返回数据,基于我们自己写的分布式程序,而月末通过返回的数据,来与合作方进行对账,所以每天数据返回的成败就至关重要了,但又懒得每天去查看日志,刚好借助一下公司内部的邮件服务器。go、go、gopackage test.util;import org.apache.log...
2018-03-28 16:43:56 5363
转载 Mybatis Generator最完整配置详解
原文连接:https://www.jianshu.com/p/e09d2370b796<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""ht...
2018-03-26 14:07:31 129
转载 Ubuntu16.04下Java环境安装与配置
1、下载jdk。2、验证java是否安装,使用java -version命令,如下图所示说明没有安装:3、在usr目录中创建一个jdk-8目录,如下图所示:4、配置系统环境变量,编辑/etc/profile文件,在文件的末尾添加一下信息:export JAVA_HOME=/usr/jdk1.8.0_101ex...
2018-03-25 21:06:49 3851
原创 java序列化与反序列化
转自:http://www.blogjava.net/dennydeng/articles/93464.html 1 package com.test.mainterface; 2
2018-03-23 15:38:24 244
转载 网络协议: TCP/IP 和UDP/IP
TCP/IP TCP/IP(Transmission Control Protocol/Internet Protocol)是一种可靠的网络数据传输控制协议。定义了主机如何连入因特网以及数据如何在他们之间传输的标准。 TCP/IP协议参考模型把所有TCP/IP系列协议归类到四个抽象层中; 每一个抽象层建立在低一层提供的服务上,并且为高一层提供服务 ICMP:控制报文协议 IGMP:i...
2018-03-23 11:30:48 3106 3
原创 ubuntu中使用nginx监听80端口进行转发
安装nginx:sudo apt-get install nginx配置路径nginx的默认安装路径在/usr/local/nginx下.nginx的默认配置在/etc/nginx下.把80端口指向8080端口, 方法如下:include /etc/nginx/conf.d/*.conf;#include /etc/nginx/sites-enabled/*; //...
2018-03-09 11:26:54 4930 1
转载 微信开发之带参二维码的使用
就在今年春节期间,有个我不愿提及的人说要做个使用微信扫描二维码的方式实现会议签到的功能,当时还没接触任何的微信开发,也就只说自己不会微信开发。直到今天才直到应该怎么实现。现在很多东西都用php来开发微信,我就用java做了几个项目居然被php的鄙视,二话没说直接把这种好友拉入黑名单。语言本身无优劣之分,没有糟糕的语言只有糟糕的不想学习的...
2018-03-08 14:59:55 1180
转载 Java微信公众平台开发之生成带参二维码
原文链接:http://blog.csdn.net/u010486495/article/details/73287470 微信官方提供的生成二维码接口得到的是当前公众号的二维码。目前有2种类型的二维码:1、临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量,主...
2018-03-08 14:56:01 2113
转载 HTTP与HTTPS的区别
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安...
2018-02-28 15:27:31 143
转载 你离顶尖Java程序员,只差这11本书的距离
个人认为看书有两点好处:能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料对着书上的代码自己敲的时候方便“看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提炼,对于梳理学习的内容很有好处。很多程序...
2018-02-25 20:05:12 334
转载 Spring中Resource接口详解
原本地址:https://www.cnblogs.com/yw0219/p/7255522.html 在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理URL资源、File资源资源、ClassPath相关资源、服务器相关资源(JBoss AS 5.x上的VFS资源)等等很多资源。因此处理这些资源需要使用不同的接口,这就增加了我们系统的复杂性;而且处理这些资源步骤都是类似的(打开资源、...
2018-02-22 10:49:15 8783
转载 Unable to parse request org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processi
最近做一个web项目中有上传文件的功能,已经写出并在本地和部署到服务器上测试了好几个文件上传都没问题(我用的是tomcat)。部署上服务器,上传图片时有的图片大就回在tomcat日志报如下错误:Unable to parse requestorg.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Process...
2018-02-13 17:08:10 2658
转载 spring源码下载,gradle转eclipse
————————————————————————1、spring源码包2、gradle安装、环境变量配置3、jdk8(因为spring源码是最新的4.x,gradle也是官网最新的。需要jdk8支持)4、使用aliyun的maven仓库————————————————————————下载spring源码...
2018-02-13 13:26:00 322
原创 JAVA IO基础概念相关总结
java.io包是负责整个IO编程的开发包,在这个开发包中包含有核心的5个类和1个接口 IO学习的关键:同一个方法根据不同的子类可能有不同的实现一、File类 在整个java.io包里面File是唯一一个与文件本身有关的处理类。例如:文件的创建、重命名等操作都属于文件本身的操作,如果要想使用File类进行操作,那么必须设置一个操作的路径,所以如果要想设置File类的操作文件路径,...
2018-02-12 15:42:43 467
转载 装饰器模式(Decorator)
原文链接:https://www.cnblogs.com/zhangtianq/p/6091047.html职责:动态的为一个对象增加新的功能 装饰器模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。实现细节:——Component抽象构件角色:真实对象和装饰对象有相同的接口。这样,客户端对...
2018-02-12 11:07:37 285
转载 Linux下MySQL 5.5/5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)
原文地址:http://www.ha97.com/5359.html PS:昨天一同事遇到mysql 5.5中文乱码问题,找我解决。解决了,有个细节问题网上没人说,我就总结一下。一、登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:+--------------------------+-------...
2018-02-11 11:00:07 355
转载 Ubuntu 16.04安装Nginx
原文链接:https://www.cnblogs.com/EasonJim/p/7806879.html在Ubuntu下安装Nginx有以下方法,但是如果想要安装最新版本的就必须下载源码包编译安装。 一、基于APT源安装sudo apt-get install nginx安装好的文件位置:/usr/sbin/nginx:主程序/etc/nginx:存放配置文件/usr...
2018-02-11 10:17:23 204
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人