学习笔记
文章平均质量分 66
JokerDa
写完代码多检查两遍!
展开
-
JVM(三)
字段访问相关优化1.即时编译器将沿着控制流缓存字段存储、读取的值,并在接下来的字段读取操作时直接使用该缓存值。2.这要求生成缓存值的访问以及使用缓存值的读取之间没有方法调用、内存屏障,或者其他可能存储该字段的节点。3.即时编译器还会优化冗余的字段存储操作。如果一个字段的两次存储之间没有对该字段的读取操作、方法调用以及内存屏障,那么即时编译器可以将第一个冗余的存储操作给消除掉。4.此外,我还...原创 2019-10-07 10:57:28 · 373 阅读 · 1 评论 -
JAVA8 Lambda
为什么使用Lambda 表达式Lambda 是一个匿名函数,我们可以把Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。Lambda 表达式语法Lambda 表达式在Java 语言中引入了一个新的语法元素和操作符。这个操作符为“->” ,该操作符被称为Lambda 操作...原创 2018-11-03 13:03:22 · 348 阅读 · 0 评论 -
springboot+echarts入门案例
首先IDEA创建个springboot项目,选择1.5.3版本,pom文件中加入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2018-06-07 22:35:45 · 10672 阅读 · 0 评论 -
mongodb java简单的crud例子
国内 mongodb-driver jar 下载地址:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/maven依赖:<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <vers原创 2017-12-29 10:45:53 · 606 阅读 · 0 评论 -
mongodb笔记增删改查索引
db.persons.find()db.persons.insert({_id:"001",name:"kkk"})db.persons.drop()//批量插入for(var i=1;i<11;i++){db.persons.insert({name:"aa"+i})}db.persons.insert({_id:"001",name:"10"})//save的话如果有相同的记录则会原创 2017-12-26 22:39:07 · 327 阅读 · 0 评论 -
shiro使用与我遇到的问题
我遇到的问题:使用shiro进行登录的时候可以选择两种方案,一种是自动生成token,一种手动生成 第一种:name=”username”,name=”password”只能写这两个(目测是这样) 表单:<TR> <TD>用户名:</TD> <TD colSpan="2"><input type="text" id="usercode" name="usernam原创 2017-12-17 23:10:32 · 1202 阅读 · 0 评论 -
windows安装mongodb
下载地址:http://dl.mongodb.org/dl/win32/x86_64 http://www.cr173.com/soft/34691.html1 把文件解压到D:\MyUtils\mangodb\db,然后再创建个放数据的文件夹D:\MyUtils\mangodb\data,日志文件夹D:\MyUtils\mangodb\log与log.txt 2 执行cmd进入D:\MyUti原创 2017-12-24 19:10:33 · 177 阅读 · 0 评论 -
JAVA8 Stream流
什么是Stream流(Stream) 到底是什么呢?是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。“集合讲的是数据,流讲的是计算!”注意:①Stream 自己不会存储元素。②Stream 不会改变源对象。相反,他们会返回一个持有结果的新Stream。③Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。Stream 的操作三个步骤创建Stream...原创 2018-11-03 14:34:32 · 225 阅读 · 0 评论 -
ForkJoin
Fork/Join 框架就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可再拆时),再将一个个的小任务运算的结果进行join 汇总.Fork/Join 框架与传统线程池的区别采用“工作窃取”模式(work-stealing):当执行新的任务时它可以将其拆分分成更小的任务执行,并将小任务加到线程队列中,然后再从一个随机线程的队列中偷一个并把它放在自己的队列中。...原创 2018-11-03 14:54:07 · 194 阅读 · 0 评论 -
Optional容器
Optional 类(java.util.Optional) 是一个容器类,代表一个值存在或不存在,原来用null 表示一个值不存在,现在Optional 可以更好的表达这个概念。并且可以避免空指针异常。常用方法:Optional.of(T t) : 创建一个Optional 实例Optional.empty() : 创建一个空的Optional 实例Optional.ofNullable...原创 2018-11-03 15:05:37 · 626 阅读 · 1 评论 -
JVM(二)
Java内存模型1.Java 内存模型通过定义了一系列的 happens-before 操作,让应用程序开发者能够轻易地表达不同线程的操作之间的内存可见性。2.在遵守 Java 内存模型的前提下,即时编译器以及底层体系架构能够调整内存访问操作,以达到性能优化的效果。如果开发者没有正确地利用 happens-before 规则,那么将可能导致数据竞争。3.Java 内存模型是通过内存屏障来禁止...原创 2019-10-04 23:41:26 · 289 阅读 · 0 评论 -
JVM(一)
啊原创 2019-09-20 16:38:53 · 343 阅读 · 0 评论 -
利用IDEA合并git分支
首先在命令终端里面执行git pull拉取最新分支信息。然后切换到该分支。搜索需要合并过来的分支,然后选merge into current。合并后解决完冲突提交就OK了。如果提交被拒绝了再拉一下代码看看是不是有人在解决冲突期间又提交的新的代码。...原创 2019-06-18 15:29:37 · 2869 阅读 · 0 评论 -
(笔记整合)Java基础四
三十一、Java应用开发中的注入攻击典型回答注入式(Inject)攻击是一类非常常见的攻击方式,其基本特征是程序允许攻击者将不可信的动态内容注入到程序中,并将其执行,这就可能完全改变最初预计的执行过程,产生恶意效果。下面是几种主要的注入式攻击途径,原则上提供动态执行能力的语言特性,都需要提防发生注入攻击的可能。最常见的SQL注入攻击。一个典型的场景就是Web系统的用户登录功能,根据用户输...原创 2019-05-09 11:40:15 · 351 阅读 · 0 评论 -
(笔记整合)Java基础三
二十一、Java并发类库提供的线程池有哪几种? 分别有什么特点?典型回答通常开发者都是利用Executors提供的通用线程池创建方法,去创建不同配置的线程池,主要区别在于不同的ExecutorService类型或者不同的初始参数。Executors目前提供了5种不同的线程池创建配置:newCachedThreadPool(),它是一种用来处理大量短时间工作任务的线程池,具有几个鲜明特点:...原创 2019-05-06 16:25:26 · 344 阅读 · 0 评论 -
(笔记整合)Java基础二
十一、Java提供了哪些IO方式? NIO如何实现多路复用?典型回答Java IO方式有很多种,基于不同的IO抽象模型和交互方式,可以进行简单区分。首先,传统的java.io包,它基于流模型实现,提供了我们最熟知的一些IO功能,比如File抽象、输入输出流等。交互方式是同步、阻塞的方式,也就是说,在读取输入流或者写入输出流时,在读、写动作完成之前,线程会一直阻塞在那里,它们之间的调用是可靠的...原创 2019-04-22 16:00:27 · 299 阅读 · 0 评论 -
(笔记整合)Java基础一
一、谈谈你对Java平台的理解Java特性:面向对象(封装,继承,多态)平台无关性(JVM运行.class文件)语言(泛型,Lambda)类库(集合,并发,网络,IO/NIO)JRE(Java运行环境,JVM,类库)JDK(Java开发工具,包括JRE,javac,诊断工具)Java是解析运行吗?不正确!1.Java源代码经过Javac编译成.class文件2. .class...原创 2019-04-13 14:04:54 · 497 阅读 · 0 评论 -
(转)java字符串的替换replace、replaceAll、replaceFirst的区别
String的replaceAll跟replaceFirst用到了正则表达式!不多解释,看代码:String s = "my.test.txt";System.out.println(s.replace(".", "#"));System.out.println(s.replaceAll(".", "#"));System.out.println(s.replaceFirst(".&quo转载 2019-03-05 19:44:31 · 139 阅读 · 0 评论 -
Springboot集测拦截方法自定义返回数据
有些方法只能线上测试,但是本地调试的话为了不修改那些方法,做个代理拦截那些方法得到正确的结果pom文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins...原创 2018-12-03 11:45:46 · 2222 阅读 · 0 评论 -
SpringBoot整合PowerMockito
PowerMockito可以用来mock静态方法目录结构:pom文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2018-11-08 19:52:55 · 7556 阅读 · 0 评论 -
JAVA采坑与优化笔记
1.不应该只是为了测试而新增setter方法,实在无法依赖注入可以在测试中使用如下工具类:import org.springframework.test.util.ReflectionTestUtils;ReflectionTestUtils.setField(targetObject, &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;beanName&amp;amp;原创 2018-11-03 15:17:09 · 1197 阅读 · 0 评论 -
JAVA8 新时间类的操作
package da.test3.java8;import java.time.DayOfWeek;import java.time.Duration;import java.time.Instant;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;import...原创 2018-11-03 15:10:07 · 1617 阅读 · 0 评论 -
ssm+shiro的配置文件
maven依赖:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ma原创 2017-12-21 23:34:13 · 378 阅读 · 0 评论 -
eclipse中对tomcat的一些操作
虚拟访问路径:打开severs然后双击tomcat进入配置页面 点击modules 点击第二个按钮添加: 上面输入实际存储位置,下面输入映射路径即可 修改端口:1 回到开始的overviw页面,然后在port中直接修改保存 2 也可以在server.xml配置文件中修改端口原创 2017-11-25 14:38:32 · 209 阅读 · 0 评论 -
SolrDemo
单机版查询: <!-- 商品名称 --> <field name="product_name" type="text_ik" indexed="true" stored="true"/> <!-- 商品分类ID --> <field name="product_catalog" type="string" indexed="true" stored="true"/>转载 2017-11-25 11:56:26 · 725 阅读 · 0 评论 -
dubbo+springboot+mybatis入门案例
此案例在 http://blog.csdn.net/qq_35641192/article/details/78132168 上面改动 dubbo参考文档:https://www.gitbook.com/@dubbo一、springboot-dubbo-provider的改动1.pom加入mybatis与mysql的依赖<dependency> <groupId>org.mybatis.s原创 2017-09-29 15:05:53 · 4151 阅读 · 8 评论 -
dubbo整合springboot入门案例
一、我的配置在开始构建前,默认你已经能够成功安装并启动 Zookeeper 注册中心,能够成功安装并启动 Dubbo 控制台; 在本例中,我的 Zookeeper 注册中心 IP 地址为 192.168.175.131,端口号为 2181,Dubbo 控制台的访问地址为 http://192.168.175.131:8080/; 为了体现分布式调用,本例中创建了以下两个项目,dubbo-cons转载 2017-09-29 11:25:58 · 2474 阅读 · 4 评论 -
springboot学习笔记五
springboot的注册与发现(zookeeper)服务端加入依赖:<!-- zookeeper注册 对应zk3.4.6版本--><dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-x-discovery-server</artifactId> <version>2.11.0</ve原创 2017-09-20 23:15:20 · 220 阅读 · 0 评论 -
dubbo admin配置
需要先安装tomcat7,zookeeper3.4.6,jdk71.先上传dubbo-admin-2.5.4.war到tools文件夹(自己随便创建一个就行)2.解压并重命名目录为ROOTunzip dubbo-admin-2.5.4.war -d ROOT3.移动ROOT到tomcat的webappcp -rp ROOT /usr/local/tomcat/apache-tomcat-7.0.7原创 2017-09-28 21:23:50 · 321 阅读 · 0 评论 -
dobbo入门案例(搬运)
本文主要介绍阿里dubbo的基本使用,关于dubbo的相关基础概念请自行参考dubbo官网:http://www.dubbo.iodubbo是一个服务治理的框架,在如今大规模的分布式应用和SOA架构中,服务治理的问题显的尤为的重要。以我个人使用dubbo的场景来总结,dubbo主要解决如下问题: 1.项目服务化后,项目之间的高性能通讯问题。(项目被拆分成多个服务模块后必然会涉及模块之间的通讯)转载 2017-09-28 10:13:40 · 489 阅读 · 0 评论 -
Maven的安装配置使用
1.解压部署Maven核心程序①检查JAVA_HOME环境变量 C:\Windows\System32>echo %JAVA_HOME% D:\DevInstall\jdk1.7.0_07②解压Maven的核心程序③配置环境变量 M2_HOME D:\DevInstall\apache-maven-3.2.2 path D:\DevInstall\apache-原创 2017-09-27 22:12:09 · 165 阅读 · 0 评论 -
springboot学习笔记四
jdbc与事务:1 pom文件加入依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency> <groupId>mysql</groupId> <artifa原创 2017-09-17 12:59:49 · 175 阅读 · 0 评论 -
springboot注解大全(转)
一、注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration 等同于spring的XML配置文件;使用Java转载 2017-09-17 11:56:33 · 248 阅读 · 0 评论 -
springboot学习笔记三
@RestControllerpackage da.test;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.Pos原创 2017-09-15 23:07:04 · 291 阅读 · 0 评论 -
shell笔记收藏
http://www.runoob.com/linux/linux-shell.html 教程地址 http://www.runoob.com/try/runcode.php?filename=helloworld&type=bash 在线编译器笔记一: 如果不好理解的话,Shell 个人感觉可以对应成 win 中的 bat,通过代码来实现一些自动定时任务,自动备份或者执行的任务。 1、原创 2017-09-24 13:37:56 · 158 阅读 · 0 评论 -
springboot学习笔记二
Enable*与importpackage da.test2;import org.springframework.boot.SpringApplication;import org.springframework.boot.context.properties.EnableConfigurationProperties;import org.springframework.context.Co原创 2017-09-15 22:38:20 · 231 阅读 · 0 评论 -
springboot学习笔记一
application.properties中的属性local.ip=192.168.1.118local.port=8080#配置的引入name=springbootapp.name=this is ${name}ds.url=jdbc:mysql://localhost:3306/testds.driver=com.mysql.jdbc.Driverds.username=root原创 2017-09-14 21:22:05 · 306 阅读 · 0 评论 -
Tomcat7跑jdk1.8程序的问题
之前tomcat7跑jdk1.8程序报错。 解决方法1:换成tomcat8 - -! 解决方法2:window->preferences->server->runtime Environments 修改tomcat7的jre环境为jdk1.8原创 2017-10-18 09:21:05 · 19873 阅读 · 0 评论 -
SVN的安装与配置
1 安装svn 版本:Setup-Subversion-1.8.9-1.msi 安装:双击->选择2.2.x->指定目录(最好非中文无空格的目录)->一路next安装完成 安装成功会自动在环境变量path下加入:D:\MyUtils\svn\bin 检验是否安装成功:打开cmd 输入:svn --version2 创建本地库 打开cmd原创 2017-10-09 16:14:03 · 206 阅读 · 0 评论 -
Maven与Svn的使用
1 maven创建父工程2 搭建聚合工程结构对比 先创建一个父工程做聚合给聚合工程添加模块,模块中必须有一个war工程模块3 测试聚合工程 在聚合工程taotao-manager中加入<build> <!-- 配置插件 --> <plugins> <plugin> <groupId>org.apache.tomcat.mave原创 2017-10-09 23:08:05 · 828 阅读 · 0 评论