JUC并发编程-Stream流式计算

13、Stream流式计算package com.zkw.JUC并发编程.functiom.stream;public class User { private int ID; private String name; private int age; public User() { } public User(int ID, String name, int age) { this.ID = ID; this.na
分类: 其他 发布时间: 11-18 08:35 阅读次数: 0

JuC并发编程-ForkJoin与异步回调

1、ForkJoin特点:工作窃取 里边维护的是双端队列package com.zkw.JUC并发编程.forkjoin;import java.util.concurrent.RecursiveTask;public class ForkJoinDemon extends RecursiveTask<Long> { private Long start; private Long end; //临界值 private Long temp =
分类: 其他 发布时间: 11-18 08:35 阅读次数: 0

JUC并发编程-JMM

JMMJMM:java内存模型,不存在的东西,是概念、约定。1、关于JMM的一些同步的约定(1)线程解锁前,必须把共享变量立刻刷回主存(2)线程加锁前,必须读取主存中的最新值到工作内存中!(3)加锁和解锁是同一把锁线程 工作内存、主内存2、内存交互操作有8种虚拟机实现必须保证每一个操作都是原子的,不可在分的(对于double和long类型的变量来说,load、store、read和write操作在某些平台上允许例外)lock (锁定):作用于主内存的变量,把一个变量标识为线程独占
分类: 其他 发布时间: 11-18 08:35 阅读次数: 0

JUC并发编程-Volatile

VolatileVolatile 是 java 虚拟机提供轻量级的同步机制有三点:1、保证可见性;2、不保证原子性;3、禁止指令重排1、保证可见性package com.ZKW.JUC并发编程.tvolatile;import java.util.concurrent.TimeUnit;public class JMMDemon { // 不加 volatile 线程对主内存的变化不知道,程序会变成死循环 // 加 volatile 可以保证可见性 priv
分类: 其他 发布时间: 11-18 08:35 阅读次数: 0

JUC并发编程—深入理解CAS与原子引用

1、深入理解CASpackage com.zkw.JUC并发编程.cas;import java.util.concurrent.atomic.AtomicInteger;public class CasDemon { public static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInteger(2020); // 期望的值,新的值 /
分类: 其他 发布时间: 11-18 08:34 阅读次数: 0

JUC并发编程—锁的理解

锁的理解1、公平锁与非公平锁公平锁:不能够插队,必须按照先来后到的顺序执行非公平锁:可以插队(默认都是非公平锁)lock锁对应的非公平锁与公平锁的源码ReentrantLock lock = new ReentrantLock();public ReentrantLock() { sync = new NonfairSync(); }ReentrantLock lock = new ReentrantLock(true);public ReentrantLock(b
分类: 其他 发布时间: 11-18 08:34 阅读次数: 0

注解版的HelloSpringMVC

pom.xml、web.xml、hello.jsp 都不需要变,可以参考《HelloSpringMVC》只需要改动springmvc-servlet.xml和HelloController.java首先看springmvc-servlet.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:/
分类: 其他 发布时间: 11-18 08:33 阅读次数: 0

(本人亲测有效)关于IDEA中 Tomcat 控制台打印日志中文乱码的解决

转载自:https://www.cnblogs.com/yanglichen/p/11435628.html在 Idea 上面使用 Tomcat 时,发现控制台打印信息的时候,出行中文乱码问题;可以通过以下几种解决办法1:在-Dfile.encoding=UTF-8 在vm中设置编码方式2.然后从File->Setting ,设置File Encodings ,检查Default Encodings 是否是UTF-8.3.重启idea.如果乱码还没有解决,继续试试下面的方法修改IDEA
分类: 其他 发布时间: 11-18 08:32 阅读次数: 0

接受与数据显示

前端接受数据,并把数据显示到要转发到的页面。两个配置文件:web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/n
分类: 其他 发布时间: 11-18 08:32 阅读次数: 0

前端显示汉字乱码

前端显示乱码问题的解决方法,两种方案:自定义过滤器;使用springmvc给的过滤器自定义过滤器package com.zkw.filter;import javax.servlet.*;import java.io.IOException;public class EncodingFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { }
分类: 其他 发布时间: 11-18 08:32 阅读次数: 0

JSON对象学习

Json对象的学习首先是json对象在前端和js对象的相互转换<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>JSON</title></head><body><script> //定义一个js对象 var str = { name:"张
分类: 其他 发布时间: 11-18 08:32 阅读次数: 0

Ajax异步加载数据

Ajax学习项目结构如下 (需要导入一个JQuery的包,配置文件web.xml和springmvc-servlet.xml,不在写了,不知道的可以看一下我其它的博客,上边都有)异步加载数据首先创建一个实体类package com.zkw.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data @AllArgsConstructor @NoArgsCon
分类: 其他 发布时间: 11-18 08:31 阅读次数: 0

git基本理论与项目搭建

基本理论工作区域Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stag/index)、资源库(repository或Git Directory)。如果再加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下Workspace:工作区,就是平时存放项目代码的地方index/Stage:暂存区,用于临时存放你的改动,事实上它是一个临时文件,保存即将提交到文件列表的信息Repository:仓库区(本
分类: 其他 发布时间: 11-18 08:30 阅读次数: 0

git的文件操作

文件操作文件的4种状态版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没有提交上Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add状态变为staged。Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,如果它被修改,而变为Modified,如果使用**git rm移出版本库,则成为Unt
分类: 其他 发布时间: 11-18 08:30 阅读次数: 0

git创建仓库和集成到IDEA

我是在Gitee上演示的,Github上和这个完全相同新建仓库和生成ssh公钥创建仓库生成ssh公钥ssh-keygen -t rsa集成到IDEA上首先把gitee或者GitHub上的仓库克隆下来git clone url重点:直接把你克隆下来的文件里边的所以内容复制到你的项目文件中,就可以了。下图表示成功了上传到远程仓库第一种方式第二种使用命令...
分类: 其他 发布时间: 11-18 08:30 阅读次数: 0

git全部命令

说明:本篇文章的所有命令全来自gitee里边的Git大全的第七部分s另外在这里再推荐一个git学习的网站:http://gitref.justjavac.com/creating/仓库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]配置# 显示当前的Git配置$ git config --list# 编辑Gi.
分类: 其他 发布时间: 11-18 08:30 阅读次数: 0

NOIP2007---纪念品分组

题目描述元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。输入描述:第 1 行包括一个整数 w,为每组纪念品价格之和的上限。第 2 行为一个整数n,表示购来的纪念品的总件数。第 3 ~
分类: 其他 发布时间: 11-18 08:29 阅读次数: 0

牛妹和01串

题目描述牛妹有一个01串,串中只包含0和1,牛妹要把这个串划分成连续的m段,使得每一段至少包含一个0和一个1。牛妹想最大化m,m最大是多少呢?输入描述:输入包含一行一个01串S。保证中至少包含一个0和一个1。输出描述:输出一行一个整数表示答案。输入10101111000010101111010101输出9参考代码#include<bits/stdc++.h>using namespace std;string str;int s1,s2,cnt;int ma
分类: 其他 发布时间: 11-18 08:29 阅读次数: 0

八大排序算法总结+例题练习(正在不断补充...)

1.插入排序1.基本介绍直接插入排序是最简单的排序方法,每次将一个待排序的记录,插入到已经排好序的数据序列中,得到一个新的长度增1的有序表。如图9-3所示。2.算法步骤:1)设待排序的记录 存储在数组r[1…n]中,可以把第一个记录r[1]看作-一个有序序列。2)依次将[国] (i=2,… n)插入到已经排好序的序列r[1…i-1]中,并保持有序性。例如,利用直接插入排序算法对序列 {12,2,16,30,28,10,16*,20,6,18}进行非递减排序。初始状态,把r[1]看作-一个有序
分类: 其他 发布时间: 11-18 08:29 阅读次数: 0

Mybatis-Plus学习day01

Mybatis-Plus学习day011.Mybatis-Plus常用注解@TableName:对数据表名注解 当数据库表名与实体类名不一致时,需要该注解进行制定数据库名.@TableName("tb_user")public class User(){...}//表名数据库表tb_user与User进行对应.@TableId:表主键标识 对主键的类型进行制定如:自增,随机字符串,不指定…@TableId(value = “id”, type = IdType.AUTO):自增@Tabl
分类: 其他 发布时间: 11-18 08:28 阅读次数: 0