分类 技术 下的文章 - 第 3 页 - 酷游博客
首页
关于
友链
Search
1
阿里的简历多久可以投递一次?次数多了有没有影响?可以同时进行吗?
45 阅读
2
Java中泛型的理解
40 阅读
3
Java 14 发布了,再也不怕 NullPointerException 了!
38 阅读
4
Java中的可变参数
37 阅读
5
该如何创建字符串,使用" "还是构造函数?
29 阅读
技术
登录
/
注册
找到
556
篇与
技术
相关的结果
- 第 3 页
2025-01-22
那家注册了今日油条,饼多多,快手抓饼的公司终于被起诉了
近日,今日头条以商标权权属、侵权纠纷起诉了“今日油条”,而这则新闻还十分魔幻的登上了今日头条的头条。 谁都知道今日头条背靠知名互联网公司字节跳动,还有个用户量超5亿的孪生兄弟抖音,但令人没想到的是这家跨国企业,竟然有一天会和路边店“今日油条”打上架。  不过,今日油条的创始人张新亚显然不惧怕字节跳动,另外关于自己为什么要傍大牌,他还解释道“我天天都刷今日头条APP,是头条的忠实用户,喜欢它的风格,爱看上面的新闻,开油条店时,就找人这样设计了,没想到被告侵权了”。 单听这位创始人的一面之词,可能还会有人为他抱不平,字节跳动这么一家大企业,为什么要和一家小店过不去? 可要是细数这家“今日油条”的营销套路之后,我们才能真切的体会到什么叫“无赖”。 “今日油条”的营销之路 河南今日油条餐饮管理有限公司成立于2020年5月13日,注册资本100万元。 创世人张新亚是个90后,因为突发疫情,自己没了工作,便想到自己开一个店。 可没特色,没新意,怎么能做起来?要知道早餐厅的龙头企业巴比馒头从岌岌无名到提交IPO申请可是用了二十多年! 某天刷今日头条时,张新亚终于灵机一动,今日头条说不定可以为自己所用。 “头”改“油”,“借鉴”今日头条的LOGO设计,将“王思聪吃热狗”改成了“王思聪吃油条”,网红效应自主引发了大范围传播,爆红网络。  当然如虎添翼的还有套用国内知名企业的广告词,众所周知,今日头条的广告语是“你关心的,才是头条”,今日油条将广告语改为“关心你的,才是好油条”;格力空调的广告语是“好空调,格力造”,今日油条的另一条广告语为“好油条,今日造”。  为了充分发挥余热,该公司把“借鉴”做到了极致,在食品、餐饮住宿、方便食品等类目,依次申请注册了今日豆花、今日面条、饼多多、快手抓饼、明日油条等商标。 这一系列操作之后就让这家早餐店成为了网红打卡地,早上六点到晚上九点,络绎不绝,甚至有人专门开车九公里,只为见到“今日油条”的容颜。 开张不到3个月,40万就进了今日油条老板的腰包,5个月后,今日油条的速度超越了5G,做到了名闻全国。 更加让人吃惊的是,7月17日,今日油条甚至还与著名的正大集团在河南签署合作协议,双方达成战略合作伙伴关系。  营销大王今日油条的这条路走的顺畅无比,如果今日头条没选择用法律武器捍卫自己的权利的话,可能今日油条现在都要考虑下一步如何在全国各地开上连锁了。 “今日油条”还将营业? 2020年9月11日,字节跳动忍无可忍,终于将河南今日油条餐饮管理有限公司、郑州市金水区今日油条早餐店、河南烧烤者食品有限公司等告上了法庭。 对于字节跳动来说,明明知识产权的保护措施已经做得相当完善了,名下有268件含有“今日头条”的商标,其中还包含餐饮类核心类别的43类商标。但没想到还是被人钻了空子。  对于今日油条来说,所谓富贵险中求,我弱我有理,但对字节跳动来说,这块肉反正比特朗普这块石头好啃,杀鸡给猴看。 但显然,字节跳动低估了对方的无赖程度。 面对诉讼和声讨,今日油条显然有股死猪不怕开水烫的谜之勇气,今日油条的员工回应称,作为员工,他个人认为“今日油条”的意思就是“卖的是今日的油条”,哪个字不能用? 更令人出乎意外的是,他表示“今日油条”还将继续营业下去。  事实上,“今日油条”根本不怕被告,利用知名品牌进行多次事件营销,不是还能省了一笔营销推广费用吗?况且即使败诉,还有饼多多、快手抓饼、明日油条等16个商标在等候筛选呢? 其实,在知识产权这条护城河上,还要数国民女神老干妈的操作技高一筹,只要把各种近似商标和近义商标申请注册个遍,就没人能蹭我的热度。 
技术
# 程序人生
酷游
1月22日
0
29
0
2025-01-22
《成神之路-基础篇》Java基础知识——Java中各种关键字
本文是《成神之路系列文章》的第一篇,主要是关于JVM的一些介绍。 持续更新中 本文介绍的不仅限于JAVA中内置的哪些关键字。还包括其他Java中的常用名称等 Java中的四种访问级别(public private protected) Java泛型中K T V E ? object等的含义 深入分析Java中的length和length() Java中的可变参数 Java中的equals()和hashcode()之间关系 简单介绍Java中Comparable和Comparator 深入理解Java中的重写和重载 深入理解Java中的组合和继承 Java中的迭代与递归 Java的各种打包方式(JAR/WAR/EAR/CAR)
技术
# 干货
酷游
1月22日
0
13
0
2025-01-22
《成神之路-基础篇》JVM——JVM参数及调优(已完结)
Java内存模型,Java内存管理,Java堆和栈,垃圾回收 本文是[《成神之路系列文章》][1]的第一篇,主要是关于JVM的一些介绍。 持续更新中 JVM参数及调优 JVM实用参数系列 成为Java GC专家(5)—Java性能调优原则(调优原则) JVM 优化经验总结 JVM调优总结
技术
# 未分类
酷游
1月22日
0
6
0
2025-01-22
深入理解Java中的volatile关键字
在再有人问你Java内存模型是什么,就把这篇文章发给他中我们曾经介绍过,Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。在前一篇文章中,我们也介绍了synchronized的用法及原理。本文,来分析一下另外一个关键字——volatile。 本文就围绕volatile展开,主要介绍volatile的用法、volatile的原理,以及volatile是如何提供可见性和有序性保障的等。 volatile这个关键字,不仅仅在Java语言中有,在很多语言中都有的,而且其用法和语义也都是不尽相同的。尤其在C语言、C++以及Java中,都有volatile关键字。都可以用来声明变量或者对象。下面简单来介绍一下Java语言中的volatile关键字。 volatile的用法 volatile通常被比喻成”轻量级的synchronized“,也是Java并发编程中比较重要的一个关键字。和synchronized不同,volatile是一个变量修饰符,只能用来修饰变量。无法修饰方法及代码块等。 volatile的用法比较简单,只需要在声明一个可能被多线程同时访问的变量时,使用volatile修饰就可以了。 public class Singleton { private volatile static Singleton singleton; private Singleton (){} public static Singleton getSingleton() { if (singleton == null) { synchronized (Singleton.class) { if (singleton == null) { singleton = new Singleton(); } } } return singleton; } } 如以上代码,是一个比较典型的使用双重锁校验的形式实现单例的,其中使用volatile关键字修饰可能被多个线程同时访问到的singleton。 volatile的原理 在再有人问你Java内存模型是什么,就把这篇文章发给他中我们曾经介绍过,为了提高处理器的执行速度,在处理器和内存之间增加了多级缓存来提升。但是由于引入了多级缓存,就存在缓存数据不一致问题。 但是,对于volatile变量,当对volatile变量进行写操作的时候,JVM会向处理器发送一条lock前缀的指令,将这个缓存中的变量回写到系统主存中。 但是就算写回到内存,如果其他处理器缓存的值还是旧的,再执行计算操作就会有问题,所以在多处理器下,为了保证各个处理器的缓存是一致的,就会实现缓存一致性协议 缓存一致性协议:每个处理器通过嗅探在总线上传播的数据来检查自己缓存的值是不是过期了,当处理器发现自己缓存行对应的内存地址被修改,就会将当前处理器的缓存行设置成无效状态,当处理器要对这个数据进行修改操作的时候,会强制重新从系统内存里把数据读到处理器缓存里。 所以,如果一个变量被volatile所修饰的话,在每次数据变化之后,其值都会被强制刷入主存。而其他处理器的缓存由于遵守了缓存一致性协议,也会把这个变量的值从主存加载到自己的缓存中。这就保证了一个volatile在并发编程中,其值在多个缓存中是可见的。 volatile与可见性 可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。 我们在再有人问你Java内存模型是什么,就把这篇文章发给他中分析过:Java内存模型规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存,线程的工作内存中保存了该线程中是用到的变量的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存。不同的线程之间也无法直接访问对方工作内存中的变量,线程间变量的传递均需要自己的工作内存和主存之间进行数据同步进行。所以,就可能出现线程1改了某个变量的值,但是线程2不可见的情况。 前面的关于volatile的原理中介绍过了,Java中的volatile关键字提供了一个功能,那就是被其修饰的变量在被修改后可以立即同步到主内存,被其修饰的变量在每次是用之前都从主内存刷新。因此,可以使用volatile来保证多线程操作时变量的可见性。 volatile与有序性 有序性即程序执行的顺序按照代码的先后顺序执行。 我们在再有人问你Java内存模型是什么,就把这篇文章发给他中分析过:除了引入了时间片以外,由于处理器优化和指令重排等,CPU还可能对输入代码进行乱序执行,比如load->add->save 有可能被优化成load->save->add 。这就是可能存在有序性问题。 而volatile除了可以保证数据的可见性之外,还有一个强大的功能,那就是他可以禁止指令重排优化等。 普通的变量仅仅会保证在该方法的执行过程中所依赖的赋值结果的地方都能获得正确的结果,而不能保证变量的赋值操作的顺序与程序代码中的执行顺序一致。 volatile可以禁止指令重排,这就保证了代码的程序会严格按照代码的先后顺序执行。这就保证了有序性。被volatile修饰的变量的操作,会严格按照代码顺序执行,load->add->save 的执行顺序就是:load、add、save。 volatile与原子性 原子性是指一个操作是不可中断的,要全部执行完成,要不就都不执行。 我们在Java的并发编程中的多线程问题到底是怎么回事儿?中分析过:线程是CPU调度的基本单位。CPU有时间片的概念,会根据不同的调度算法进行线程调度。当一个线程获得时间片之后开始执行,在时间片耗尽之后,就会失去CPU使用权。所以在多线程场景下,由于时间片在线程间轮换,就会发生原子性问题。 在上一篇文章中,我们介绍synchronized的时候,提到过,为了保证原子性,需要通过字节码指令monitorenter和monitorexit,但是volatile和这两个指令之间是没有任何关系的。 所以,volatile是不能保证原子性的。 在以下两个场景中可以使用volatile来代替synchronized: 1、运算结果并不依赖变量的当前值,或者能够确保只有单一的线程会修改变量的值。 2、变量不需要与其他状态变量共同参与不变约束。 除以上场景外,都需要使用其他方式来保证原子性,如synchronized或者concurrent包。 我们来看一下volatile和原子性的例子: public class Test { public volatile int inc = 0; public void increase() { inc++; } public static void main(String[] args) { final Test test = new Test(); for(int i=0;i
技术
# 未分类
酷游
1月22日
0
23
0
2025-01-22
《成神之路-基础篇》JVM——虚拟机性能监控与故障处理工具
本文是《成神之路系列文章》中的一篇,主要是关于Java命令的一些介绍。 持续更新中 Java工具 常见命令及Java Dump介绍 jps jstack jmap jstat jconsole jinfo jhat javap
技术
# 干货
酷游
1月22日
0
19
0
上一页
1
2
3
4
...
112
下一页
易航博客