首页
学习
活动
专区
工具
TVP
发布

大大的微笑

专栏作者
74
文章
61554
阅读量
32
订阅数
SpringBoot开篇
SpringBoot 前言: SpringBoot是一个服务于Spring框架的框架,用来简化对于bean的获取, 快速构建一个web服务, 它的基础依然是Spring。 在SpringBoot还未出来以前使用的最多的架构体系可能是SpringMVC + Mybatis or Spring + Struts2 +Hibernate ,甚至是最早期的JSP + Servlet. 以上框架搭建起来过于繁琐,而且需要进行大量的配置,每次搭建一个web项目可能会遇到各种各样的问题,所以一般公司都会生成相应的
用户1215919
2021-12-28
1600
ZOOKEEPER集群搭建及测试
①. zk是由java编写的需要java运行环境,所以大家首先要安装JDK 具体安装步骤,不再赘述      ②. 首先进入zk的conf目录,将zoo_sample.cfg文件改名为zoo.cfg,并修改内容 tickTime=2000 #ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime。 initLimit=5 #Leader允许Follower在 initLimit 时间内完成这个工作 syncLimit=2 #心
用户1215919
2018-02-27
9360
Kafka集群安装
①.kafka需要依赖zk管理,在搭建kafka集群之前需要先搭建zk集群: https://my.oschina.net/u/2486137/blog/1537389 ②.从apache kafka官网下载kafka( 二进制版本)        注意下载的版本否则会在启动时报错:找不到主类Kafka.kafka. 我这里使用的是2.10版本. ③.配置config/server.properties文件: # Licensed to the Apache Software Foundation (ASF
用户1215919
2018-02-27
1K0
深入理解JVM原理之编译openjdk7
Java虚拟机种类很多例如:HotSpot 丶 JRockit 丶 J9等 我们一般用的就是HotSpot,如果我们电脑上装了JDK,可以运行java -version查看相关信息 java -version java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode) 之前想着编译open
用户1215919
2018-02-27
1.2K0
设计模式之策略模式
         策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。 UML: //工厂方法,用来生产策略 public class DisCountRateFactory
用户1215919
2018-02-27
5150
RMI
RMI定义:     RMI即远程方法调用(Remote Method Invocation)。能够让在某个java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。       RMI使用的是JRMP(Java Remote Messageing Protocol), JRMP是专门为java定制的通信协议,所以踏实纯java的分布式解决方案。  实现方式: 1. 创建远程接口, 并且继承java.rmi.Remote接口 2. 实现远程接口,并且继承:UnicastRemote
用户1215919
2018-02-27
6830
观察者模式详解
观察者模式是众多软件设计模式中的一种,又称发布订阅模式.被观察的对象发生了变化,观察者对象们可以第一时间收到通知, 并作出相应的处理,例如作为一家餐馆的会员,若餐馆出了新品那么会第一时间通知到各个会
用户1215919
2018-02-27
7120
设计模式之单例模式深究
为什么使用单例模式?         我认为是由于某些对象的创建比较耗时,对内存的消耗又比较大回收成本过高,这时候如果允许 不断的创建对象代价势必太高,如果使用单例让内存中始终保持一个对象那么显然
用户1215919
2018-02-27
5040
java如何根据二进制流确定图片的类型
 为什么需要这样做? 因为仅仅通过后缀名我们并不能得知用户是否把图片的类型更改为其他类型. public enum ImageType { PNG('P','N','G','-',"PNG"),
用户1215919
2018-02-27
2.3K0
JVM之垃圾回收
对象是否存活: ①.引用计数算法: 描述:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收. 优势:简单高效 缺点:对于循环引用的对象无法回收(两个对象相互引用) ----------------------------------- ②.可达性分析算法: 描述:GC的时候首先会根据一系列可以被定义为GC Roots的对象作为起始点依次往下搜索 这个搜索的路径即为引用链,若对象没有被引用链连接到GC Roots,则将标记为可清除(证明此对象是不可
用户1215919
2018-02-27
6610
设计模式之装饰模式
其中一个配料类代码: public class Fruit extends AbstractDrinkDecorator { public Fruit(Drink drink) { super(drink); } @Override public double price() { return 1.5 + drink.price(); } @Override public String destribe() { return drink.destribe() + " 加果粒
用户1215919
2018-02-27
4790
Java线程池
       概述:         线程池,从字面含义来看是管理同一组同构工作线程的资源池。线程池与工作队列是密切相关的, 工作队列保存了所有等待执行的任务, 工作线程从工作队列中获取任务并执行。         通过重用线程而不是创建线程的方式, 这样做的好处是: ①. 可以避免因创建线程和销毁线程所产生的开销;②.当有任务需要执行时不会因为需要创建线程而延迟任务的执行, 从而提高响应性。③. 通过调节线程池大小, 可以使处理器尽量保持忙碌状态, 不仅可以防止创建过多的线程而导致竞争资源过于激烈
用户1215919
2018-02-27
7840
java根据wait,notify,synchronize关键字自定义队列
这里定义了一个有界队列 ,保证先进先出,在队列达到上限时应该阻塞,直到队列有元素被取出才能继续往里继续添加 完整代码: package com.comic.queue; import java.util.LinkedList; import java.util.concurrent.atomic.AtomicInteger; public class BoundedQueue { // 队列的最大值 private int maxSize; // 计数器 private AtomicInte
用户1215919
2018-02-27
4140
Condition控制线程通信:java三个线程循环打印ABC
private Lock lock = new ReentrantLock(); private Condition c1 = lock.newCondition(); private Condition c2 = lock.newCondition(); private Condition c3 = lock.newCondition(); private int remark = 1;// public static void main(String[] args) throws Inter
用户1215919
2018-02-27
1.1K0
Master-work模式
①.master负责手机客户端的请求,将任务分发给work,回收work处理结果, ②.work做具体的业务逻辑,并将结果通知到master 这里做了一个给每个员工涨薪30%,并计算需要支付的薪资 具体实现: master: private LinkedBlockingQueue<Money> queue = new LinkedBlockingQueue<Money>(); private ConcurrentHashMap<String, Money> resultMap = new Concurre
用户1215919
2018-02-27
8340
java 多线程暂停与恢复:suspend,resume
这边做了一个小测试: 实现了runnable接口,在方法中打印count的值: int count =0; @Override public void run() { while(true){ System.out.println(count++); } } 下面将试图唤醒: public static void main(String[] args) throws InterruptedException { MyThread t = new MyThread(); Thr
用户1215919
2018-02-27
1.1K0
多线程使用wait和notify做生产者消费者模型导致线程全部假死
分析假死的原因: 首先我们每次只生产一个数据,然后消费者进行消费, public class Value { public static String value = "";//这个值作为生产消费的容器 } 生产者端代码: private String lock; public Producer (String lock) { super(); this.lock = lock; } public void setValue() { try { synchronized (l
用户1215919
2018-02-27
6940
java队列,ArrayBlockingQueue
提供了三个构造方法:    ①.ArrayBlockingQueue(int capacity)//指定长度,默认加锁机制为非公平锁    ②.ArrayBlockingQueue(int cap
用户1215919
2018-02-27
5480
JUC包下的CountDownLatch,CyclicBarrier,Semaphore
①.从CountDownLatch的设计来看,可以做汇总的操作,例如计算员工工资,这边启动多个线程同时计算等所有线程执行完毕之后,计算需要发放的总额 final ConcurrentHashMap<String, Integer> resultMap = new ConcurrentHashMap<String, Integer>(); final CountDownLatch c = new CountDownLatch(10); final Random r = new Random();
用户1215919
2018-02-27
4760
java发送邮件功能,以发送qq邮件为例
问题①: java发送qq邮件出现如下错误的解决方法:      503 Error: need EHLO and AUTH first ! pop.put("mail.smtp.auth", "true");//注意value值不能不设置,并且不能是Boolean类型,应为字符串,否则会报如上所示错误 问题②: Could not connect to SMTP host: smtp.qq.com, port: 465, response: -1 原因:     465端口是为SMTPS(SMTP-ove
用户1215919
2018-02-27
1.8K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档