- 博客(119)
- 收藏
- 关注
原创 【sentinel问题记录】Error when fetching items from api: jsonTree -> root
clientIp要用运行项目的IP。加入clientIp配置。
2024-02-14 13:37:27
370
原创 【Java】HashMap线程不安全测试、及解决
package com.test;import lombok.extern.slf4j.Slf4j;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.concurrent.*;import org.junit.Test;@Slf4j(topic = "c.TestHashMap")public class Test
2021-05-31 19:31:39
433
原创 【Python】爬虫
import requestsfrom bs4 import BeautifulSoup import bs4def getHTMLText(url): try: r = requests.get(url, timeout=30) #得url响应结果 r.raise_for_status() r.encoding = r.apparent_encoding #设置为网页对应编码 return r.text e
2021-05-31 16:53:45
100
原创 【并发】终止线程的方式
①执行完run(),线程正常结束②用退出标志终止线程volatile退出标志方法package com.test;import lombok.extern.slf4j.Slf4j;import java.util.Random;import java.util.Timer;import java.util.TimerTask;import java.util.concurrent.*;@Slf4j(topic = "c.TestThreadLocal")public class .
2021-05-29 14:06:53
123
原创 【Java】i++与++i字节码分析
package test;public class Test{ public static void main(String[] args){ int j=10; int b=j++; System.out.println(b); }}++i与i++前后无其他变量从字节码角度,两者功能一致:都先存储在LV[i]内,在LV[i]内自增++i与i++前后有其他变量:int j=10;int b=++j;++i:先自增,后赋值先存储在LV[i]内,在LV[i]内自
2021-05-28 13:18:34
137
原创 【Java】多层嵌套try-catch执行过程
try抛出异常:try→按catch编写顺序,找到匹配→finallytry未抛出异常:try→finally
2021-05-28 12:52:33
1121
原创 【Java】try-catch-finally执行过程
分有return和没return分析try-catch-finally执行顺序:无return:try中没抛出异常:执行try→不执行catch→执行finallytry中抛出异常:执行try(抛出异常语句之后的代码不再执行)→执行catch→执行finally有return:try块中有return①try中没抛出异常:执行try(执行return前)→不执行catch→执行finally→执行try内return→finally之后的return不再执行(因含1条return轨迹)
2021-05-28 12:51:37
854
原创 【数据结构】反转链表
package ds;public class DS { public static void main(String[] args) { Node a1 = new Node(1, "A"); Node a2 = new Node(2, "B"); Node a3 = new Node(3, "C"); Node a4 = new Node(4, "D"); DList DL = new DList(); DL.add(a1); DL.add(a2); DL.add(a
2021-05-27 22:58:18
137
原创 【并发】可见性及解决
public class Test32 { static boolean run = true; //加volatile static boolean run = true;即可解决 public static void main(String[] args) throws InterruptedException { Thread t = new Thread(()->{ while(true){ i
2021-05-27 18:43:51
102
原创 【娱乐】构建乘积数组
1个数组A[0,1,…,n-1],构建个数组B[0,1,…,n-1],B中元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)对于A长度为1的情况,B无意义,故而无法构建,因此该情况不会存在。package test;import java.util.Stack;public class HelloWorld
2021-05-27 18:43:32
74
原创 【数据结构】连续子数组的最大和
package collection;public class HashMapDemo01 { public static void main(String args[]) { System.out.println(solve(new int[] { 1, -3, 3, 10, -4, 7, 2, -5 })); } public static long solve(int[] a) { int len = a.length; if (len == 0) { return .
2021-05-27 18:40:43
100
原创 【娱乐】反转字符串
package collection;public class HashMapDemo01 { public static void main(String args[]) { System.out.println(solve("abcd")); } public static String solve(String str) { String result = ""; for (int i = str.length()-1; i >= 0; i--) { result
2021-05-27 18:39:35
92
原创 【数据结构】设计LRU缓存
package collection;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;class LRUCache { class SLDode { int key, value; SLDode prev, next; public SLDode() { } public SLDode(int key, int value) { this.key = key; ..
2021-05-27 18:38:03
112
原创 【数据结构】DP:最长公共子串问题
给定两个字符串str1和str2,输出两个字符串的最长公共子串题目保证str1和str2的最长公共子串存在且唯一。package collection;public class HashMapDemo01 { public static void main(String args[]) { System.out.println(DP( "d8Wt20lnSgAw0HgauN2Kspyr298H6wQWMO3tMNRpWmR25NNTD4VTnq16LX80khSMEG0W5V72cIDL
2021-05-27 15:13:15
151
原创 【Python】打包
①安装 PyInstaller 模块:pip install pyinstaller②进入cmd,输入:pyinstaller -F -w E:\Python37\my.py③进入E:\Python37\Scripts\dist,启动打包好的*.exe程序
2021-05-24 14:37:36
86
原创 【并发】活锁
public class TestLiveLock { static volatile int count = 10; static final Object lock = new Object(); public static void main(String[] args) { new Thread(() -> { while (count > 0) { try { Thread.sl
2021-05-22 16:39:19
94
原创 【并发】哲学家就餐问题:用reentrantLock解决
public class TestDeadLock { public static void main(String[] args) { Chopstick c1 = new Chopstick("1"); Chopstick c2 = new Chopstick("2"); Chopstick c3 = new Chopstick("3"); Chopstick c4 = new Chopstick("4"); Cho
2021-05-22 16:38:20
202
原创 【并发】哲学家就餐问题
package com.test;import lombok.extern.slf4j.Slf4j;import java.util.Random;public class TestDeadLock { public static void main(String[] args) { Chopstick c1 = new Chopstick("1"); Chopstick c2 = new Chopstick("2"); Chopstick
2021-05-22 16:36:14
93
原创 【并发】线程死锁
package com.test;import lombok.extern.slf4j.Slf4j;@Slf4j(topic = "c.TestDeadLock")public class TestDeadLock { public static void main(String[] args) { test1(); } private static void test1() { Object A = new Object();
2021-05-22 16:34:48
133
原创 【并发】交替输出
public class Test { public static void main(String[] args) throws InterruptedException { AwaitSignal awaitSignal = new AwaitSignal(5); Condition a = awaitSignal.newCondition(); Condition b = awaitSignal.newCondition(); C
2021-05-22 16:32:31
100
原创 【并发】同步模式:顺序控制
public class Test25 { static final Object lock = new Object(); // 表示 t2 是否运行过 static boolean t2runned = false; public static void main(String[] args) { Thread t1 = new Thread(() -> { synchronized (lock) {
2021-05-22 16:31:30
85
原创 【并发】管程:同步模式-保护性暂停
class GuardedObject { private Object response; private final Object lock = new Object(); public Object get() {synchronized (lock) {// 条件不满足则等待while (response == null) {try {lock.wait();} catch (InterruptedException e) {e.printStackTrace();} }re
2021-05-22 16:30:35
57
原创 【并发】管程:wait/notify的简单使用
public class TestWaitNotify { final static Object obj = new Object(); public static void main(String[] args) { new Thread(() -> { synchronized (obj) { log.debug("执行...."); try {
2021-05-22 16:28:59
120
原创 【并发】管程:共享资源问题及解决
public class Test { static int counter = 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(() -> { for (int i = 0; i < 5000; i++) { counter++; } }, "t1"); Thread t2 = new Thread(() ->
2021-05-22 16:25:40
113
原创 【SpringMVC】标签库:errors
@Controllerpublic class MyController { @RequestMapping(value="/result") public String registerForm(Model model){ User user = new User(); model.addAttribute("user", user); return "result"; } @InitBinder public void initBinder(DataBinder binder)
2021-05-20 13:22:27
156
原创 【SpringMVC】标签库:select
@Controllerpublic class MyController { @RequestMapping(value="/click",method=RequestMethod.GET) public String selectForm(Model model) { User user= new User(); user.setDeptId(2); model.addAttribute("user", user); return "result"; }}<%@
2021-05-20 13:21:13
290
原创 【SpringMVC】标签库:radiobutton、radiobuttons
@Controllerpublic class MyController { @RequestMapping(value = "/click", method = RequestMethod.GET) public String registerForm(Model model) { User user = new User(); user.setSex("男"); model.addAttribute("user", user); return "result"; }}
2021-05-20 13:20:10
132
原创 【SpringMVC】标签库:checkbox、checkboxes
@Controllerpublic class MyController { @RequestMapping(value = "/click") public String registerForm(Model model) { User user = new User(); List<String> list = new ArrayList<String>(); list.add("JAVAEE"); list.add("Spring"); user
2021-05-20 13:18:54
292
原创 【SpringMVC】标签库:pasword标签、hidden、textarea
<tr> <td>姓名:</td> <td><form:password path="username"/></td> </tr><td><form:hidden path="username"/></td><td><form:textarea path="username" rows="5" cols="20"/>...
2021-05-20 13:17:22
155
原创 【SpringMVC】标签库:form标签、input标签
@Controllerpublic class MyController { @RequestMapping(value = "/click") public String registerForm(Model model) { User user = new User("xiaom", "男", 28); model.addAttribute("command", user); return "result"; }}<%@ page language="java".
2021-05-20 13:15:16
150
原创 【SpringMVC】@ModelAttribute
方式一 @ModelAttribute("loginname") public String userModel1(@RequestParam("loginname") String loginname) { return loginname; } @RequestMapping(value = "/click") public String loginl() { return "result"; }方式二 @ModelAttribute public void userMo
2021-05-20 13:11:06
65
原创 【SpringMVC】@CookieValue
@RequestMapping(value="/cookieValueTest") public void cookieValueTest( @CookieValue(value="JSESSIONID", defaultValue="") String sessionId){ logger.info("@CookieValue,通过@CookieValue获数据:" + sessionId); }
2021-05-19 21:57:28
97
原创 【SpringMVC】请求方法,用User对象绑定,请求的各参数值
@Controller@RequestMapping(value="/us") public class MyController { @RequestMapping(value="/click",method = RequestMethod.POST) public String hello2(User user){ System.out.println(":"+user); return "result"; } }package domain;publi
2021-05-19 21:56:36
113
原创 【SpringMVC】@RequestHeader
@RequestMapping(value="/requestHeaderTest") public void requestHeaderTest( @RequestHeader(value="Accept-Language") String s1, @RequestHeader("User-Agent")String userAgent, @RequestHeader(value="Accept")String[] accepts) { logger.info("@Re.
2021-05-19 21:55:02
117
原创 【SpringMVC】REST:基于REST的4种请求
package controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;
2021-05-19 21:54:07
105
原创 【SpringMVC】@PathVariable
@RequestMapping(value = "/loginF/{name}",method = RequestMethod.GET) public void fun( @PathVariable("name") String name , Model model){ model.addAttribute("name",name); System.out.println("fun执行"); }
2021-05-19 21:52:51
93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人