学习记录
算法笔记
不愿透露姓名的唐马儒先生
这个作者很懒,什么都没留下…
展开
-
js 闭包
理解起来就是 函数嵌套函数,内部函数可以引用外部函数的参数和变量。原创 2023-04-12 20:09:00 · 121 阅读 · 0 评论 -
关于外网访问不到内网地址
工作中遇到的内外网映射问题原创 2022-11-14 10:06:51 · 295 阅读 · 0 评论 -
关于oracle11g 报“无监听程序”解决方案(已实践)
昨晚还可以启动的程序,今天跟我报数据库连接失败,使用工具Navicat连接报错,显示无监听程序。数据库再次连接时,再次报错,显示监听程序当前无法识别连接服务,然后按照这篇文章,最后连接成功,程序也成功跑起来了。原创 2022-11-01 11:18:48 · 1021 阅读 · 0 评论 -
java 拷贝对象集合
拷贝对象集合原创 2022-06-10 21:50:42 · 488 阅读 · 0 评论 -
MyBatis 返回实体中有List集合
需求:年度报告中加入月度报告,根据年度报告的yearReportId查询月度报告List自定义返回值类型yearReportDTO.class@Datapublic class yearReportDto { /** * 年度报告id */ private Long yearReportId; /** * 团队code */ private String rootEntpCode; /** * 年份原创 2022-05-24 10:33:20 · 1600 阅读 · 0 评论 -
前端 Ant Design Pro 加loading
1.首先给模块加一层<Spin></Spin>return ( <Spin spinning={loading} wrapperClassName={styles.mySpinning}> <div className={styles.main}> <TitleBar {...params} /> <div id='carbonPea原创 2021-11-09 11:10:18 · 2595 阅读 · 0 评论 -
网络编程---TCP文件上传
三块内容:一、登陆模拟模拟登陆,返回登录信息LoginTwoWayClient.javapackage com.sxt.loc;import java.io.*;import java.net.Socket;/** *模拟登陆双向 */public class LoginTwoWayClient { public static void main(String[] args) throws IOException { System.out.prin翻译 2020-07-16 19:20:36 · 94 阅读 · 0 评论 -
网络编程---UDP案例---在线问答
TalkSend.javapackage com.sxt.loc;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.net.SocketExc.翻译 2020-07-16 16:56:02 · 115 阅读 · 0 评论 -
网络编程---UDP基本步骤
udpclient.javapackage com.sxt.loc;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.net.SocketException;/**基本流程: * 发送端 * 同一协议下端口不允许冲突 * 1、 使用DatagramSocket 指定端口 创建发送端 * 2、 准备数据 一定转成字节.翻译 2020-07-16 02:36:56 · 258 阅读 · 0 评论 -
网络编程---爬虫原理
SpiderTest01.testimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;/** * 网络爬虫 */public class SpiderTest01 { publi.翻译 2020-07-15 20:30:18 · 144 阅读 · 0 评论 -
I/O流
Java中执行输出和输入操作,需要通过IO流。例如最常见的System.out.println()就是一个输出流。IO流的类比较多,但核心体系就是由File、InputStream、OutputStream、Reader、Writer和Serializable(接口)组成的,后续会一一详细说明。I/O流基础概念按照流的方向分为输入流(InputStream)与输出流(OuputStream):输入流:只能读取数据,不能写入数据。 输出流:只能写入数据,不能读取数据。因为程序是运行在内存中..转载 2020-07-15 18:30:19 · 107 阅读 · 0 评论 -
字符流与字节流的区别
字符流与字节流的区别(尊重劳动成果,转载请注明出处:https://blog.csdn.net/cynhafa/article/details/6882061)字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如下图所示。下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。范例:使用字节流不关闭执.转载 2020-07-15 17:22:27 · 363 阅读 · 0 评论 -
网络编程---URL基本用法
URLTest.javaimport java.net.MalformedURLException;import java.net.URL;public class URLTest { public static void main(String[] args) throws MalformedURLException { URL url = new URL("https://www.baidu.com:80/index.html?uname=shsxt&age.翻译 2020-07-15 17:14:06 · 257 阅读 · 0 评论 -
线程---CAS---乐观锁
synchronized是悲观锁,这种线程一旦得到锁,其他需要锁的线程就挂起的情况就是悲观锁。 CAS操作的就是乐观锁,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。CAS .javaimport java.util.concurrent.atomic.AtomicInteger;/** * CAS乐观锁 */public class CAS { //库存 private static AtomicInteger stock = ne.翻译 2020-07-15 03:10:16 · 110 阅读 · 0 评论 -
线程---ThreadLocal
ThreadLocal的静态内部类ThreadLocalMap为每个Thread都维护了一个数组table,ThreadLocal确定了一个数组下标,而这个下标就是value存储的对应位置。 ThreadLocal提供了线程内存储变量的能力,这些变量不同之处在于每一个线程读取的变量是对应的互相独立的。通过get和set方法就可以得到当前线程对应的值。ThreadLocalTest01.java/** * ThreadLocal:每个线程自身的存储本地、局部区域...翻译 2020-07-15 01:54:15 · 92 阅读 · 0 评论 -
线程---DCL单例模式
DoubleCheckLocking.java/** * DCL单例模式:在懒汉式套路基础上加入并发控制,在多线程环境下,对外存在一个对象 * 1、提供私有的静态属性--->存储对象地址 * 2、构造器私有化--->避免外部new构造器 * 3、提供公共的静态方法--->获取属性 */public class DoubleCheckLocking { //1、提供私有的静态属性--->存储对象地址 private static volatile .翻译 2020-07-14 20:41:07 · 129 阅读 · 0 评论 -
线程---Happenbefore---指令重排
指令重排是指在程序执行过程中, 为了性能考虑, 编译器和CPU可能会对指令重新排序.happenbefore.java/** * 指令重排:代码执行顺序和预期的不一样 * 目的:提高性能 */public class Happenbefore { public static int i; public static boolean flag; public static void main(String[] args) { for (int j =翻译 2020-07-14 17:42:41 · 131 阅读 · 0 评论 -
线程---quartz作业调度框架
HelloJob.javaimport org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import java.util.Date;public class HelloJob implements Job { public HelloJob(){ } @Override public void execute(JobExe翻译 2020-07-14 16:16:23 · 111 阅读 · 0 评论 -
线程---定时器
import java.util.*;/** * 定时调度 */public class TimerTest { public static void main(String[] args) { Timer timer = new Timer(); //执行安排 // timer.schedule(new MyTask(), 3000); //3000毫米后 执行一次 // timer.schedule(new MyTas.翻译 2020-07-13 17:11:43 · 76 阅读 · 0 评论 -
线程---并发协作---信号灯法
/** * 线程信号灯法 * */public class CoTest02 { public static void main(String[] args) { Tv tv = new Tv(); new Player(tv).start(); new Watcher(tv).start(); }}class Tv{ private String voice; //信号灯 private boolean .翻译 2020-07-13 15:25:17 · 125 阅读 · 0 评论 -
线程---并发协作---管程法
public class CoTest01 { public static void main(String[] args) { SynContainter synContainter = new SynContainter(); new Productor(synContainter).start(); new Consumer(synContainter).start(); }}//消费者class Consumer extends.翻译 2020-07-13 01:36:52 · 81 阅读 · 0 评论 -
线程---并发容器
import java.util.ArrayList;import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;/***这里用的是 CopyOnWriteArrayList ,不需要 再用synchronized**/public class Unsafe { public static void main(String[] args) throws InterruptedException { .翻译 2020-07-11 16:33:26 · 86 阅读 · 0 评论 -
线程状态
翻译 2020-07-11 16:28:16 · 77 阅读 · 0 评论 -
线程---快乐火车票小案例
import java.util.ArrayList;import java.util.List;/***使用同步方法购票**/public class Happy12306 { public static void main(String[] args) { web12306 web = new web12306(3, "12306"); new Passenger(web, "老高", 2).start(); new Passenge.翻译 2020-07-11 16:26:10 · 183 阅读 · 1 评论 -
线程---同步---快乐影院小案例
import java.util.ArrayList;import java.util.List;public class HappyCinema { public static void main(String[] args) { //可用位置 List<Integer> avilable = new ArrayList<Integer>(); for (int i = 1; i <= 5; i++) { .翻译 2020-07-11 16:26:41 · 808 阅读 · 0 评论 -
线程---性能分析
public class SynBlockTest { public static void main(String[] args) { Web12306 web = new Web12306(); new Thread(web,"用户").start(); new Thread(web,"黄牛").start(); new Thread(web,"搞事的").start(); }}class Web12306 imp.翻译 2020-07-11 16:26:59 · 152 阅读 · 0 评论 -
线程---并发
多线程在运行时可能会出现三个案例:同时取票时会,会出现负票数; 同时取款时,会出现负钱数; 将线程存入容器里时,可能会被覆盖 import java.util.ArrayList;import java.util.List;public class Unsafe { public static void main(String[] args) { List<String> list = new ArrayList<String>();翻译 2020-07-11 16:29:23 · 76 阅读 · 0 评论 -
线程---基本信息
/** * isAlive():线程是否还活着 * Thread.currentThread():当前线程 * setName, getName:代理名称 */public class infoTest { public static void main(String[] args) throws InterruptedException { MyInfo myInfo = new MyInfo("战斗机"); Thread t = new Threa.翻译 2020-07-11 16:27:17 · 121 阅读 · 0 评论 -
线程---守护线程
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是 GC (垃圾回收器),它就是一个很称职的守护者。User和Daemon两者几乎没有区别,唯一的不同之处就在于虚.翻译 2020-07-11 16:27:47 · 143 阅读 · 0 评论 -
线程---优先级Priority
/** * 优先级 * MAX_PRIORITY = 10最大 * MIN_PRIORITY = 1最小 * NORM_PRIORITY = 5;默认 * 优先级越高,越有可能被先运行 */public class PriorityTest { public static void main(String[] args) { MyPriority my = new MyPriority(); Thread t1 = new Thread(my, "N.翻译 2020-07-11 16:29:35 · 345 阅读 · 0 评论 -
线程状态---深度观察
public class AllState { public static void main(String[] args) throws InterruptedException { Thread t = new Thread(()->{ for (int i = 0; i < 5; i++) { try { Thread.sleep(200); ...翻译 2020-07-11 16:29:03 · 98 阅读 · 0 评论 -
线程---join()
public class BlockJoin { public static void main(String[] args) { new Thread(new father()).start(); }}class father implements Runnable{ @Override public void run() { System.out.println("老爸想吸烟"); System.out.prin.翻译 2020-07-11 16:29:50 · 102 阅读 · 0 评论 -
线程---礼让yield()
public class YieldDemo { public static void main(String[] args) { new Thread(()->{ for (int i = 0; i < 100; i++) { System.out.println( "lambda---->" + i); } }).start(); for (int i =.翻译 2020-07-11 16:28:47 · 124 阅读 · 0 评论 -
线程----sleep()
import java.text.SimpleDateFormat;import java.util.Date;/** * 使用sleep()实现倒计时功能 */public class BlockSleep { public static void main(String[] args) throws InterruptedException { Date endTime = new Date(System.currentTimeMillis() + 1000*10).翻译 2020-07-11 16:28:29 · 110 阅读 · 0 评论 -
线程终止
/** * 终止线程 * 1.进程自动执行完毕 * 2.外部干涉--->加入标识符 * * 不建议使用stop(), destory() */public class TerminateThread implements Runnable{ //加入标识,标记线程体是否可以运行 private boolean flag = true; private String name; public TerminateThread(String name) {.翻译 2020-07-11 16:25:24 · 107 阅读 · 0 评论 -
lambda的简单使用
public class LambdaTest {public static void main(String[] args) {//正常式new Thread(new Runnable() {@Overridepublic void run() {for (int i = 0; i < 10; i++) {System.out.println(“一边瞌睡”);}}}).start(); //简化式 new Thread(()->{ for (原创 2020-07-09 10:31:23 · 137 阅读 · 0 评论 -
质因数
所谓质因数分解就是指将一个正整数n写成一个或多个质数的乘积的形式,例如6 = 2 * 3,8 = 2 * 2 * 2,180 = 2 * 2 * 3 * 3 * 5。写成指数的形式,例如6 = 2^1 * 3^1, 8 = 2^3, 180 = 2^2 * 3^2 * 5^1;struct factor{ int x, cnt;//x为质因子,cnt为其个数 }fac[10]; 考虑到2...原创 2020-03-09 20:57:45 · 879 阅读 · 0 评论 -
素数
素数又称质数,是指除1和本身之外,不能被其他数整除的一类数。即对给定的整数你,如果对任意的正整数a(1<a<n),都有n%a!=0成立,那么称n是素数,否则为合数。其中,1既不是素数,也不是合数。1.素数的判断从定义得,整数n是否为素数,需要判断n能否被2,3,4…n-1中的一个整除,这时候有算法的复杂度为O(n),但是有个证明:设n的约数为k,即n%k=0; 那么k *...原创 2020-03-09 13:25:47 · 198 阅读 · 0 评论 -
分数
分数1.分数的表示可以使用结构体struct Fraction{ //分数 int up, down; //分子、分母 }a, b;定义Fraction时遵循三项规则分母为非负数分数为0时,分子为0,分母为1分子分母没有除了1以外的公约数2.分数的化简Fraction reduction(Fraction result) { if(result.down <...原创 2020-03-02 16:38:20 · 230 阅读 · 0 评论 -
最大公约数和最小公倍数的求值
最大公约数 正整数a和b的最大公约数是指a与b的所有公约数中最大的那个公约数。例如4和6的最大公约数为2;3和9的最大公约数为3;一般可用gcd(a, b)来表示a和b的最大公约数。求解最大公约数常用欧几里得算法(辗转相除法)。 欧几里得算法基于下面定理:设a、b均为正整数, 则gcd(a, b) = gcd(b, a%b)证明:设a = kb + r,其中k和r分...原创 2020-02-28 23:25:44 · 199 阅读 · 0 评论