java
qq_34983808
这个作者很懒,什么都没留下…
展开
-
创建线程的第三种方式
使用Callable接口Thread可以通过其构造函数传入Runnable接口创建线程,那么这和Callable接口有什么关系呢FutureTask类实现了Runnable接口,那么我们是不是可以通过Thread其构造函数传入FutureTaskFutureTask的构造函数传入了Callable接口通过以上关系图,可以使用Callable接口来创建线程,注意到call方法有返回值...原创 2019-12-15 19:19:13 · 973 阅读 · 0 评论 -
jvm
jvm体系结构黄色:所有线程共享、占用空间较大,存在垃圾回收灰色:各个线程独享数据区域、占用空间较小,不存在垃圾回收类装载器ClassLoader是什么负责加载class文件,class文件在文件开头有特定的文件标示,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoader只负责class文件的加载,至于它是否可以运行,则有Exe...原创 2019-12-15 19:14:45 · 947 阅读 · 0 评论 -
多线程间通信
多线程并发,主要是多线程操作资源类,其次是多线程间的通信,三部曲,判断、干活、通知,为了防止虚假唤醒判断时必须使用while,最后,为了保证多线程执行的顺序性,可以使用Condition配合标志位来通知唤醒指定线程。生产者消费者两个线程操作空调资源类,一个升温一度,一个减温一度,一来一回,循环10轮版本一多线程间通信三部曲,判断、干活、通知唤醒其它线程package com.z...原创 2019-11-29 19:54:38 · 989 阅读 · 0 评论 -
static和synchronized
static和synchronized2个线程模拟手机发邮件和发短信功能八锁标准访问 2个线程 一部手机资源类发邮件睡眠4秒新增sayHello方法两部手机资源类2个静态同步方法 一部手机2个静态同步方法 两部部手机1个静态同步方法 一个普通同步方法 一部手机1个静态同步方法 一个普通同步方法 两部部手机场景一标准访问 2个线程 一部手机资源类package c...原创 2019-11-28 22:38:39 · 949 阅读 · 0 评论 -
多线程售票
多线程售票多线程操作资源类创建启动线程的写法public Thread(Runnable target, String name).start()线程的6种状态,线程调用start方法后不会立即执行,而是要等待空闲CPU的调度使用ReentrantLock保证资源类的安全package com.zbiti.juc;import lombok.extern.slf4j.Slf4j;...原创 2019-11-28 20:38:20 · 928 阅读 · 0 评论 -
集合类不安全
集合类不安全ArrayList集合类不安全故障现象 java.util.ConcurrentModificationException导致原因 多线程对集合的并发操作导致并发修改异常的产生解决方案 Vector(加synchronized)Collections.synchronizedList(new ArrayList())使用同步代码块CopyOnWriteArrayLi...原创 2019-11-28 20:35:54 · 889 阅读 · 0 评论 -
oracle定时执行存储过程
需求每小时进行一次查询统计数据,并将数据插入到自定义的表当中效果创建存储过程create or replace procedure summary_data as v_dcppv number; v_jd12h number; v_dby number; v_xby number; v_bj number; v_bn number; v...原创 2019-11-21 22:41:18 · 1390 阅读 · 0 评论 -
Linux性能分析
生产环境服务器变慢,诊断思路和性能评估整机:top代码public class JavaDemo2 { public static void main(String[] args) { while (true){ System.out.println(new java.util.Random().nextInt(77778888)); ...原创 2019-11-06 20:52:02 · 980 阅读 · 0 评论 -
NodeJS
NodeJS入门NodeJS模块http模块server.jsconst http=require('http');let server=http.createServer((req, res)=>{ switch(req.url){ case '/aaa': res.write('abc'); break; case '/bbb'...原创 2019-11-06 20:44:45 · 1091 阅读 · 0 评论 -
优化点击事件绑定
1、优化点击事件绑定<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/3.3.1/jq...原创 2019-11-06 20:36:52 · 911 阅读 · 0 评论 -
多表连接查询
1、查询用户拥有的权限子查询和连接查询2种,比较推荐连接查询,子查询比较影响性能,子查询看起来比较容易理解,而连接查询需要比较熟悉各个表之间的关系SELECT DISTINCT p.* FROM t_permission p LEFT JOIN t_role_permission trp ON trp.`permissionid`=p.`id` LEFT JOIN t_rol...原创 2019-11-06 20:35:06 · 899 阅读 · 0 评论 -
ThreadLocal小试牛刀
ThreadLocal中保存的数据只能被当前线程私有,不被其它线程可见证明声明一个全局的变量threadLocal,初始值为1,通过3个线程对其进行访问修改设置,理论上threadLocal的最终值应该是6,然而我们的输出结果是3,说明了threadLocal中存放的数据是各自线程私有的package com.mmall.concurrency.example.threadLoca...原创 2019-11-02 14:23:50 · 302 阅读 · 0 评论 -
svn版本控制
Windows系统安装svn1、svn下载https://sourceforge.net/projects/win32svn/2、验证是否安装成功 C:\Users\libingshen>svn --version3、创建版本库 D:\mytest\mysvn\OA>svnadmin create D:\mytest\mysvn\OA4、启...原创 2019-11-02 14:21:24 · 424 阅读 · 0 评论 -
策略模式和工厂模式搭配使用
策略模式和工厂模式的搭配使用可以很好地消除代码if-else的多层嵌套需求针对店下商铺,有这样一个需求,对用户客户分为了普通客户、vip客户、超级vip用户、专属vip用户4个等级,每当用户购买商品时,针对不同的用户等级和消费金额采取不同的打折优惠策略。在平常的开发当中,必然会出现多层的if-else嵌套判断,先判断用户的等级再判断用户购买商品的消费金额。弊端以上的情况出现了多层...原创 2019-11-02 14:18:15 · 492 阅读 · 0 评论 -
MyBatis-Plus
简介是什么参考教程:http://mp.baomidou.com/guide/MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CR...原创 2019-11-02 14:12:46 · 562 阅读 · 0 评论 -
查询和删除
查询代码:/** * MVC: Model View Controller * * 把 View 视图(看得见的, 需要进行输入的)、 Model 模型(实际的逻辑代码: Dao 在这一部分)、 Controller * 控制器(连接视图和模型的代码: 测试方法) 分开 */ @Test public void testGetStu转载 2017-09-13 17:37:48 · 159 阅读 · 0 评论 -
hexo
---title: hexocategories: 博客tags:hexogithubsummary: hexo博客搭建过程,git、hexo、node的安装,hexo博客的初始化,整合GitHub pagetypora-root-url: hexoabbrlink: ab21860cdate: 2019-01-23 09:07:30---安装Node.jshttps://nod...原创 2019-09-22 21:01:11 · 683 阅读 · 0 评论 -
zookeeper伪集群
Zookeeper运行需要java环境,需要安装jdk,建议本地下载好需要的安装包然后上传到服务器上面,服务器上面下载速度太慢。上传[root@192 ~]# java -versionjava version "1.8.0_202"Java(TM) SE Runtime Environment (build 1.8.0_202-b08)Java HotSpot(TM) 64...原创 2019-09-22 21:06:43 · 370 阅读 · 0 评论 -
vscode主题安装
安装主题快捷键Ctrl Shift X打开安装插件搜索Monokai ST3切换主题显示效果安装文件图标扩展插件vscode-icon鼠标滚轮设置字体大小打开setting.json文件修改setting.json,追加"editor.mouseWheelZoom": true{ "editor.fontSize": 16, "workben...原创 2019-09-22 21:13:15 · 4485 阅读 · 0 评论 -
HttpClient远程接口调用-实名认证
1、HttpClient远程接口调用1)用户注册注册按钮button提交表单时,要return falseform表单 <!-- action="http://localhost:8082/scw-restapi/member/regist" --> <form class="form-signin" role="form" action="${ctp...原创 2019-09-22 21:16:29 · 1121 阅读 · 0 评论 -
java中的锁
引言在java单线程中,并不会出现资源抢夺的现象,但是在多线程并发中,会出现资源抢夺现象。为了避免这种情况需要上锁分类可重入锁,又名递归锁指的是同一线程外层函数获得锁之后,内层递归函数仍然能获取该锁的代码,在同一个线程在外层方法获取锁的时候,在进入内层方法会自动获取锁,也即是说,线程可以进入任何一个它已经拥有的锁所同步着的代码块。使用synchronizedclass Phone...原创 2019-09-22 21:19:32 · 823 阅读 · 0 评论 -
ssh无密登录_集群分发脚本xsync
1、ssh免密登录ssh ip地址 [root@192 ~]# ssh 192.168.1.102 root@192.168.1.102's password: Last login: Mon Feb 18 20:40:28 2019 from 192.168.1.101免密登录配置生成公钥和私钥 [root@192 ~]# ssh-keygen -t...原创 2019-09-22 21:22:34 · 950 阅读 · 0 评论 -
订单唯一标识
在平常开发系统,设计表结构的时候,常常需要有一个字段来标识该条记录的唯一性,从java层面和数据库层面不同维度来进行实现java生成唯一标识版本一java自带生成唯一标识UUIDSystem.out.println(UUID.randomUUID().toString());输出4880d2b4-bc5f-48d1-ba58-003334276d46明显地看出来太长了...原创 2019-09-25 17:04:34 · 1285 阅读 · 0 评论 -
elastic
安装elastic下载Elasticsearch 6.3.1 | Elastic解压[root@192 modules]# tar -zxvf elasticsearch-6.3.1.tar.gz启动报错一elasticsearch 为了安全性默认不允许 root 用户来启动[root@192 elasticsearch-6.3.1]# cd bin/[root@1...原创 2019-09-25 17:17:47 · 482 阅读 · 0 评论 -
java中的逃逸分析
逃逸分析public static StringBuffer craeteStringBuffer(String s1, String s2) { StringBuffer sb = new StringBuffer(); sb.append(s1); sb.append(s2); return sb;}public static String crea...原创 2019-09-25 17:24:53 · 385 阅读 · 0 评论 -
jQuery和vue-js实现购物清单
jQuery实现购物清单<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/3.4.1/...原创 2019-09-25 17:27:52 · 605 阅读 · 0 评论 -
linux系统下开发环境安装与配置
安装系统环境CentOS 6.8 64位jdk版本7u80 64位Tomcat版本Tomcat7maven版本Apache Maven 3.6.0vsftpd版本vsftpd-2.2.2-24.el6.x86_64Nginx版本nginx-1.14.2mysql版本mysql-server-5.1.73-8.e...原创 2019-09-27 21:46:23 · 530 阅读 · 0 评论 -
spring定时任务-文件上传进度条
spring定时任务导依赖 <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --> <dependency> <groupId>org.quartz-scheduler</groupId> <artifac...原创 2019-09-27 21:48:59 · 982 阅读 · 0 评论 -
github骚操作
限制搜索in关键词限制搜索范围命令说明xxx in:name项目名包含xxx的xxx in:description项目描述包含xxx的xxx in:readme项目的readme文件中包含xxx的xxx in:name,desciption项目名包含xxx且项目描述包含xxx的范围搜索stars或fork数量关键词查找命令说明s...原创 2019-09-30 09:55:02 · 1008 阅读 · 0 评论 -
json工具@2018-10-29
1、gjson toJson(Object) fromJson(String, Class) TypeToken&lt;T&gt;2、json-lib JSONObject JSONArray fromObject(Object) //中间对旬 JSONObject toString() //实例方法,返回json字符串 toBean (JS...原创 2018-10-29 15:50:48 · 152 阅读 · 0 评论 -
Java8新特性_Lambda基础语法@2018-05-31
1、基础语法package com.atguigu.java8;import java.util.ArrayList;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.function.Consumer;...转载 2018-05-31 16:25:38 · 197 阅读 · 0 评论 -
文件的上传、下载、国际化
1.文件的上传 [1] 简介 &gt; 将一个客户端的本地的文件发送到服务器中保存。 &gt; 上传文件是通过流的形式将文件发送给服务器。[2] 表单的设置 &gt; 向服务器上传一个文件时,表单要使用post请求。 &gt; 表单的默认属性enctype="application/x-www-form-urlencoded" -...转载 2018-05-21 22:00:46 · 235 阅读 · 0 评论 -
ajax请求
1.AJAX [1] AJAX简介 &gt; 全称: Asynchronous JavaScript And XML &gt; 异步的JavaScript和XML &gt; AJAX就是通过JavaScript向服务器发送请求,并接收响应,然后我们在通过DOM来修改页面。 &gt; XML指的是服务器响应的数据的格式。 &gt; 目前AJAX已经...转载 2018-05-21 21:54:23 · 200 阅读 · 0 评论 -
gradle 转换spring源码成eclipse工程
1、下载spring源码方式: 方式一、通过Git客户端下载: C:\Users\libingshen>git clone https://github.com/spring-projects/spring-framework.git方式二、通过eclipse的svn检出: 2、spring源码转换成eclipse工程 方式一:转换通过Git客户端下载的spring源码 进...原创 2018-03-09 11:05:57 · 1619 阅读 · 2 评论 -
虚拟机监控和分析工具
背景: 给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。数据包括:运行日志,异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(humpdump/hprof文件)。定位问题的时候,恰当使用虚拟机监控和分析工具可以起到事半功倍的效果。1、JDK的命令行工具JDK的bin目录下java.exejavac.exejps:JV转载 2017-12-07 10:50:09 · 1293 阅读 · 0 评论 -
JVM之类文件结构
代码编译的结果从本地机器码转变为字节码1、概述 传统的将程序编写后需要进行编译成本地机器码,计算机只识别0和1,为了跨平台、跨语言,一种特殊的存储格式字节码出现了,编译的后的结果不再是机器码而是字节码。它可以被载入虚拟机当中。2、Java语言规范、Java虚拟机规范 Java虚拟机是运行着操作系统之上的一个应用程序,在虚拟机之上不仅仅可以运行Java程序,还可以运行其它的程序。3、Cla转载 2017-12-15 10:52:55 · 144 阅读 · 0 评论 -
idea设置主题、字体、创建web模块、添加tomcat、部署项目、设置项目文件编码
eclipse 与idea的区别:eclipse idea工作空间-------》项目项目-----------》模块设置主题: file–settings–appearence&behavior–appearence–theme 设置编辑区字体: file–settings–editor–color$fonts–font|console font 设置其它部分显原创 2017-10-15 00:41:20 · 427 阅读 · 0 评论 -
录入学员信息
环境准备: 包结构: ====================== student.javapackage com.atguigu.jdbc;public class Student { private Integer id; private int type; private String idCard; private String examCard; p转载 2017-09-13 00:11:55 · 433 阅读 · 0 评论 -
Google、百度搜索引擎高级应用6/15
不得不知道的搜索技巧。原创 2017-07-24 15:26:11 · 241 阅读 · 0 评论 -
虚拟机3种网络模式详解
桥接模式:nat模式: host-only模式:转载 2017-06-28 15:35:38 · 201 阅读 · 0 评论