自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 每日练习

import java.util.Scanner;public class Main {public static void main(String[] args){ Scanner sc = new Scanner(System.in); String s = sc.nextLine(); String[] senString = s.split(" "); for(int i = senString.length-1; i >= 0;i--){

2021-01-30 23:26:58 212

原创 linux基本操作·命令

LinuxLinux基本操作:查看:Ls命令对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息ls //查看当前目录下的所有目录和文件ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件)ls -l //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样ls /bin //查看指定目录下的所有目录

2021-01-27 23:00:00 122

原创 sqlite

public class FileToMeta {public static void main(String[] args) {File file = new File(“C:\Users\bit\Desktop\mysearcher\mysearcher.db”);System.out.println(file.getName());System.out.println(file.getAbsoluteFile());System.out.println(file.isDirectory())

2021-01-24 23:26:22 253

原创 Mybatis进阶

Mybatis进阶多个方法参数需要在方法参 数上使用 @Param(“参数的名称”) ,之后在 sql 中使用 #{参数的名称} 的方式来替换占位符。#{参数} vs ${参数}对于 #{参数} 的使用来说,如果参数是字符串,在替换占位符时,会在 sql 语句中加上单引号。 如果是不能使用单引号的字符串,例如 sql 语句是 order by 字段 {传入参数} ,此时 {传入参数} 就需 要使用 ${传入参数} 这样的占位符,替换时不会带上单引号。插入时获取自增主键useGeneratedKe

2021-01-22 22:02:34 179

原创 Mybatis

MybatisJDBC执行步骤Java 语言中对于数据库操作的原始方式,即通过 JDBC 来操作数据库,步骤几乎都比较固定,以下为语 法层面的步骤:创建数据库连接池 DataSource通过 DataSource 获取数据库连接 Connection编写要执行带 ? 占位符的 SQL 语句通过 Connection 及 SQL 创建操作命令对象 Statement替换占位符:指定要替换的数据库字段类型,占位符索引及要替换的值使用 Statement 执行 SQL 语句查询操作:返回结果集

2021-01-21 22:46:56 208

原创 AOP

AOPAOP(Aspect Oriented Programming)称为面向切面编程,AOP利用一种称为"横切"的技术,将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名 为"Aspect",即切面。使用"横切"技术,AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处基本相似,比如权限认证、日志、事物。AOP的作用在于分离系统中的各种关注点,将核心关注点

2021-01-20 22:26:04 293

原创 多线程--最后一个结束发送结束信号

package atomic_demo;import java.util.concurrent.atomic.AtomicInteger;public class LockFree {private static final int COUNT = 10_0000_0000;private static final AtomicInteger ai = new AtomicInteger(0);public static void main(String[] args) throws Interr

2021-01-19 23:46:29 441

原创 javaFX项目--本地文件搜索1

package file_scan;import java.io.File;import java.util.LinkedList;import java.util.Queue;public class Main {public static void main(String[] args) {//File root = new File(“D:\课程\2021-1-17-春招冲刺班-项目1\mysearcher”);File root = new File(“D:\课程”); //

2021-01-18 22:44:22 429

原创 javaFX的学习

package sample;import javafx.application.Application;import javafx.event.EventHandler;import javafx.fxml.FXMLLoader;import javafx.geometry.Pos;import javafx.scene.Parent;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.sce

2021-01-17 22:08:32 138

原创 代码练习1-14

import java.util.*;public class Main1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {String s = sc.next();int length = s.length();if (length <= 8) {System.out.println(“NG”);}char[] chars = s.

2021-01-16 23:22:41 49

原创 进制转换

10进制转化其他进制10进制转2进制 Integer.toBinaryString(n); 一个二进制字符串.10进制转8进制 Integer.toOctalString(n); 一个八进制字符串10进制转16进制 Integer.toHexString(n); 一个16进制字符串10进制转 r 进制 Integer.toString(100, 16); 一个r进制字符串如果数值过大可以使用Long类型 Long.toBin.

2021-01-15 23:33:17 84

原创 Linux初学

public class Hello {public static void main(String[] args) {System.out.println(“Hello World”);}}import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.Scanner;public class MyCat {// 1. 参数中有文件路径,把路径对.

2021-01-13 22:30:05 56

原创 TCP-IP,路由,地址

TCP的发送量控制:接收端处理数据的速度是有限的. 如果发送端发的太快, 导致接收端的缓冲区被打满, 这个时候如果发送端继续发送, 就会造成丢包, 继而引起丢包重传等等一系列连锁反应. 因此TCP支持根据接收端的处理能力, 来决定发送端的发送速度. 这个机制就叫做流量控制(Flow Control);TCP引入慢启动机制, 先发少量的数据探探路, 摸清当前的网络拥堵状态, 再决定按照多大的速度传输数据当TCP开始启动的时候, 慢启动阈值等于窗口最大值;在每次超时重发的时候, 慢启动阈值会变成原来的一

2021-01-12 21:05:28 143

原创 迟来的每日se训练

import java.util.*;//编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前class ListNode {int val;ListNode next = null;ListNode(int val) { this.val = val;}}public class Partition {public ListNode partition(ListNode pHead, int x) {// write code hereL

2021-01-10 20:28:02 95

原创 项目练习--博客

项目练习:项目原型:原型图设计,完成分析原型图,考虑系统设计前端的基本框架,封装的内容后端数据库设计,前后端接口设计前端:html+js+jquery+css后端:ControllerControllerAdvice统一异常处理,统一响应格式HandlerInterceptor完成用户会话管理–前端控制逻辑:只校验给定需要登录的页面,返回首页–后端控制逻辑:排除不登录允许访问的接口,返回json,401状态码开发步骤:搭建环境:jdk,idea,maven,mysql,Sprin

2021-01-09 21:13:11 87

原创 @ControllerAdvice

@ControllerAdvice@ControllerAdvice注解(控制器切面)定义的类,会自动注册为一个Bean对象,将扫描指定包中带@Controller注解的类:在客户端发起请求,映射到控制器方法时,结合其他注解或接口完成统一的功 能。注:可以不指定扫描的包,对容器中所有@Controller生效应用一:统一异常处理@ControllerAdvicepublic class ExceptionAdvice {//自定义异常报错错误码和错误消息 @ExceptionHandler(

2021-01-08 22:54:36 600

原创 TCP连接

TCP连接三次握手,四次挥手只有连接(本侧的连接对象)状态处于ESTABLISHED才可以把应用层的数据发送TIME_WAITMSL是TCP报文的最大生存时间, 因此TIME_WAIT持续存在2MSL的话,就能保证在两个传输方向上的尚未被接收或迟到的报文段都已经消失(否则服务器立刻重启, 可能会收到来 自上一个进程的迟到的数据, 但是这种数据很可能是错误的); 同时也是在理论上保证最后一个报文可靠到达(假设最后一个ACK丢失, 那么服务器会再重发一个 FIN. 这时 虽然客户端的进程不在了, 但是

2021-01-07 23:30:35 106

原创 TCP 和UDP

UDP协议UDP的特点无连接: 知道对端的IP和端口号就直接进行传输, 不需要建立连接;不可靠: 没有确认机制, 没有重传机制; 如果因为网络故障该段无法发到对方, UDP协议层也不会给应用层返 回任何错误信息;面向数据报: 不能够灵活的控制读写数据的次数和数量注意:UDP协议首部中有一个16位的最大长度. 也就是说一个UDP能传输的数据最大长度是64K(包含UDP首部). 如果我们需要传输的数据超过64K, 就需要在应用层手动的分包, 多次发送, 并在接收端手动拼装;基于UDP的应用层协议

2021-01-06 23:58:30 52

原创 服务端与客户端的简单代码实现

import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.util.Scanner;public class 一个简单的HTTP客户端 {public static void main(String[] args) throws IOException {// HTTP 请求 = 请求行 + 请求头们 + 可选的请求体

2021-01-05 23:29:35 408 2

原创 拦截器

package org.example.config.interceptor;import com.fasterxml.jackson.databind.ObjectMapper;import org.example.model.JSONResponse;import org.example.model.User;import org.springframework.http.HttpStatus;import org.springframework.http.MediaType;import

2021-01-04 22:42:56 71

原创 线程池,Callable,ArrayBlockingQueue,MyArrayBlockingQueue通知机制

package com.peixinchen;import java.util.concurrent.*;import java.util.concurrent.ArrayBlockingQueue;public class 线程池演示 {static class MyRunnable implements Runnable {@Overridepublic void run() {for (int i = 0; i < 100000000; i++) {System.out.prin

2021-01-03 23:08:21 190

原创 SpringMVC控制器方法支持的参数类型

控制器方法支持的参数类型首先定义一个控制器,使用@RestController,根据方法返回值类型,返回字符串网页,或是 json 序列 化对象:package org.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;Import org.springframework.web.bind.annotation.RestController;@RestController@R

2021-01-02 23:58:07 805

原创 线程安全(三个条件)Synchronzied,wait和notify

原子性内存可见性代码重排序线程不安全:运行结果和预期结果之间出现概率性概率性的来源:线程切换的随机性经过三个条件的放大:原子性/内存可见性/代码重排序代码实践ArrayList如何设计代码,进而使得代码具备线程安全问题思考:线程安全是什么?随机性来自何处?随机性如何传递出来?JVM内存区域划分的共享和私有?实践:a) 哪些情况需要写多线程代码?b) 写了多线程之后,哪里出现线程安全的风险了?c) 如何对风险进行保护?锁机制原子性+可见性+代码重排序起到一定的保护S

2021-01-01 23:50:59 335 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除